Issue 15367: build_ext in a venv on Windows assumes pyconfig.h in sys.exec_prefix + '\PC' (original) (raw)

Issue15367

Created on 2012-07-16 11:46 by sbt, last changed 2022-04-11 14:57 by admin. This issue is now closed.

Files
File name Uploaded Description Edit
build_ext.patch sbt,2012-07-16 12:22
build_ext.patch sbt,2012-07-16 15:19 review
Messages (4)
msg165590 - (view) Author: Richard Oudkerk (sbt) * (Python committer) Date: 2012-07-16 11:46
On Windows I can't use a source build of Python to create a venv which will compile C extensions because pyconfig.h cannot be found. For example running build running build_ext building 'demo' extension creating build creating build\temp.win32-3.3 creating build\temp.win32-3.3\Release c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\BIN\cl.exe /c /nologo /Ox /MD /W3 /GS- /DNDEBUG -IC:\Repos\cpython\include -IC:\Users\oudkerk\myenv\PC /Tcdemo.c /Fobuild\temp.win32-3.3\Release\demo.obj demo.c C:\Repos\cpython\include\Python.h(8) : fatal error C1083: Cannot open include file: 'pyconfig.h': No such file or directory error: command '"c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\BIN\cl.exe"' failed with exit status 2 The problem seems to be with the following line in distutils/command/build_ext.py: self.include_dirs.append(os.path.join(sys.exec_prefix, 'PC')) Inside a venv, sys.exec_prefix is the venv directory.
msg165593 - (view) Author: Richard Oudkerk (sbt) * (Python committer) Date: 2012-07-16 12:22
The attached patch works for me.
msg165625 - (view) Author: Richard Oudkerk (sbt) * (Python committer) Date: 2012-07-16 15:19
Updated patch which does not fail test_distutils.
msg165643 - (view) Author: Roundup Robot (python-dev) (Python triager) Date: 2012-07-16 17:30
New changeset a970054a93fb by Vinay Sajip in branch 'default': Closes #15367: Corrected computation of include locations for source builds on Windows. Thanks to Richard Oudkerk for the bug report and patch. http://hg.python.org/cpython/rev/a970054a93fb
History
Date User Action Args
2022-04-11 14:57:32 admin set github: 59572
2012-07-16 17:30:21 python-dev set status: open -> closednosy: + python-devmessages: + resolution: fixedstage: needs patch -> resolved
2012-07-16 15:19:47 sbt set files: + build_ext.patchmessages: +
2012-07-16 12:22:53 sbt set files: + build_ext.patchkeywords: + patchmessages: +
2012-07-16 11:46:40 sbt create