Skip to content

🛠 Python 3.13 and above compatibility issue #10

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

Xu-Justin
Copy link

@Xu-Justin Xu-Justin commented Jul 26, 2025

Summary

This pull request add a note for user to build this project using Python 3.12 or earlier.


Python deprecated the functions PyEval_ThreadsInitialized() in Python 3.9, and completely removed them in Python 3.13

If you attempt to build the library using Python 3.13, you'll encounter an error like this:

  × Building wheel for edsdk-python (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [46 lines of output]                                                                                                                                                          
      C:\Users\JUSTIN PC\AppData\Local\Temp\pip-build-env-d7iv056b\overlay\Lib\site-packages\setuptools\dist.py:759: SetuptoolsDeprecationWarning: License classifiers are deprecated.
      !!

              ********************************************************************************
              Please consider removing the following classifiers in favor of a SPDX license expression:

              License :: OSI Approved :: MIT License

              See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details.
              ********************************************************************************

      !!
        self._finalize_license_expression()
      running bdist_wheel
      running build
      running build_py
      copying edsdk\__init__.py -> build\lib.win-amd64-cpython-313\edsdk
      copying edsdk\constants\commands.py -> build\lib.win-amd64-cpython-313\edsdk\constants
      copying edsdk\constants\generic.py -> build\lib.win-amd64-cpython-313\edsdk\constants
      copying edsdk\constants\properties.py -> build\lib.win-amd64-cpython-313\edsdk\constants
      copying edsdk\constants\__init__.py -> build\lib.win-amd64-cpython-313\edsdk\constants
      running egg_info
      writing edsdk_python.egg-info\PKG-INFO
      writing dependency_links to edsdk_python.egg-info\dependency_links.txt
      writing requirements to edsdk_python.egg-info\requires.txt
      writing top-level names to edsdk_python.egg-info\top_level.txt
      reading manifest file 'edsdk_python.egg-info\SOURCES.txt'
      adding license file 'LICENSE.md'
      writing manifest file 'edsdk_python.egg-info\SOURCES.txt'
      copying edsdk\api.pyi -> build\lib.win-amd64-cpython-313\edsdk
      copying edsdk\edsdk_python.cpp -> build\lib.win-amd64-cpython-313\edsdk
      copying edsdk\edsdk_python.h -> build\lib.win-amd64-cpython-313\edsdk
      copying edsdk\edsdk_utils.cpp -> build\lib.win-amd64-cpython-313\edsdk
      copying edsdk\edsdk_utils.h -> build\lib.win-amd64-cpython-313\edsdk
      copying edsdk\py.typed -> build\lib.win-amd64-cpython-313\edsdk
      running build_ext
      building 'edsdk.api' extension
      "C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Tools\MSVC\14.44.35207\bin\HostX86\x64\cl.exe" /c /nologo /O2 /W3 /GL /DNDEBUG /MD -Idependencies\EDSDK/Hea
der -IC:\Python313\include -IC:\Python313\Include "-IC:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Tools\MSVC\14.44.35207\include" "-IC:\Program Files (x86)\Mic
rosoft Visual Studio\2022\BuildTools\VC\Auxiliary\VS\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.26100.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\\includ
e\10.0.26100.0\\um" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.26100.0\\shared" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.26100.0\\winrt" "-IC:\Program F
iles (x86)\Windows Kits\10\\include\10.0.26100.0\\cppwinrt" "-IC:\Program Files (x86)\Windows Kits\NETFXSDK\4.8\include\um" /EHsc /Tpedsdk/edsdk_python.cpp /Fobuild\temp.win-amd64-cpython-313\Release\edsdk\edsdk_python.obj /W4 /DDEBUG=0
      cl : Command line warning D9025 : overriding '/W3' with '/W4'
      edsdk_python.cpp
      edsdk/edsdk_python.cpp(581): warning C4996: 'Py_FileSystemDefaultEncoding': deprecated in 3.12
      edsdk/edsdk_python.cpp(1295): warning C4996: 'Py_FileSystemDefaultEncoding': deprecated in 3.12
      edsdk/edsdk_python.cpp(1296): warning C4996: 'Py_FileSystemDefaultEncodeErrors': deprecated in 3.12
      edsdk/edsdk_python.cpp(2352): error C3861: 'PyEval_ThreadsInitialized': identifier not found
      edsdk/edsdk_python.cpp(2353): warning C4996: 'PyEval_InitThreads': deprecated in 3.9
      error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2022\\BuildTools\\VC\\Tools\\MSVC\\14.44.35207\\bin\\HostX86\\x64\\cl.exe' failed with exit code 2
      [end of output]                                                                                                                                                               

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for edsdk-python
Failed to build edsdk-python
ERROR: Failed to build installable wheels for some pyproject.toml based projects (edsdk-python)

@Xu-Justin Xu-Justin changed the title Add build note to use python version 3.12 or earlier 🛠 Python 3.13 compatibility issue Jul 26, 2025
@Xu-Justin Xu-Justin changed the title 🛠 Python 3.13 compatibility issue 🛠 Python 3.13 and above compatibility issue Jul 26, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant