GeezerVison is showing github.com — Ensure venv works with source builds when using --copies · Issue #92897 · python/cpython
Ensure venv works with source builds when using --copies #92897DescriptionCurrently a venv created with --copies or on Windows doesn't respect the sysconfig.is_python_build() property of the creating interpreter. This leads to compilation errors when attempting to build extensions in the virtual environment.
Linked PRs
Activityjkloth commented on May 17, 2022 ContributorAuthor More actions An example error when building psutil.
running build_ext
building 'psutil._psutil_windows' extension
creating build\temp.win-amd64-3.12
creating build\temp.win-amd64-3.12\Release
creating build\temp.win-amd64-3.12\Release\psutil
creating build\temp.win-amd64-3.12\Release\psutil\arch
creating build\temp.win-amd64-3.12\Release\psutil\arch\windows
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.30.30705\bin\HostX86\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -DPSUTIL_SIZEOF_PID_T=4 -DPSUTIL_VERSION=590 -DPSUTIL_WINDOWS=1 -D_WIN32_WINNT=0x01000 -D_AVAIL_WINVER_=0x01000 -D_CRT_SECURE_NO_WARNINGS -DPSAPI_VERSION=1 -IC:\Users\Jeremy\Source\pyperformance\include -IC:\Public\Devel\cpython\main\include -IC:\Public\Devel\cpython\main\Include -IC:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.30.30705\ATLMFC\include -IC:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.30.30705\include -IC:\Program Files (x86)\Windows Kits\NETFXSDK\4.8\include\um -IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\ucrt -IC:\Program Files (x86)\Windows Kits\10\\include\10.0.19041.0\\shared -IC:\Program Files (x86)\Windows Kits\10\\include\10.0.19041.0\\um -IC:\Program Files (x86)\Windows Kits\10\\include\10.0.19041.0\\winrt -IC:\Program Files (x86)\Windows Kits\10\\include\10.0.19041.0\\cppwinrt /Tcpsutil/_psutil_common.c /Fobuild\temp.win-amd64-3.12\Release\psutil/_psutil_common.obj
_psutil_common.c
C:\Public\Devel\cpython\main\include\Python.h(12): fatal error C1083: Cannot open include file: 'pyconfig.h': No such file or directory
error: command 'C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Tools\\MSVC\\14.30.30705\\bin\\HostX86\\x64\\cl.exe' failed with exit code 2
After the PR, this builds without error (kinda). There is a bug in setuptools that causes an additional error. This can be worked around by setting the environment variable SETUPTOOLS_USE_DISTUTILS=no. vstinner commented on May 18, 2022 jkloth commented on May 25, 2022 ContributorAuthor More actions I'll add that prior to 3.8 this problem did not occur. Just that source builds on Windows are a rare thing to start with much less compiling in virtual environments from a source build so this change in behavior has gone relatively unnoticed. added 4 commits that reference this issue on Jul 5, 2022gh-92897: Ensure `venv --copies` respects source build property of th… pythongh-92897: Ensure `venv --copies` respects source build property… [3.11] gh-92897: Ensure `venv --copies` respects source build propert… vsajip commented on Jul 5, 2022 Closing, as PRs merged for main and 3.11 branches. FFY00 commented on Jan 20, 2025 Is there any plan for the removal of the check_home argument in sysconfig.is_python_build, whose deprecation was introduced in GH-92899?
Keeping deprecated as-is doesn't really create much maintenance burden, and removing it can break user code, though searching for such usages on Github didn't yield any results. Perhaps we could schedule its removal for 3.15 or 3.16, and clearly state that in the deprecation warning? What do you folks think? vstinner commented on Jan 20, 2025 The deprecated check_home parameter can be removed in Python 3.15. added a commit that references this issue on May 11, 2025gh-92897: document removal of `check_home` in `Doc/whatsnew/3.15.rst` (…
MetadataMetadataDevelopmentNo branches or pull requestsIssue actions
|