如何在Windows下编译包含所有外部库的Python?
当我使用 PCBuild\build.bat
来编译 Python 的时候,我发现一些外部项目,比如 ssl、bz2 等,并没有被编译,因为编译器找不到它们。
我确实运行了 Tools\Buildbot\external.bat
,它把这些项目下载到了 \Tools\
目录里,但看起来编译过程并没有在这个位置寻找它们,而 PCBuild\readme.txt
里也没有提供相关的信息。
顺便提一下,我在这个系统上使用的是 VS2008 和 VS2010。
举个例子:
Build log was saved at "file://C:\dev\os\py3k\PCbuild\Win32-temp-Release\_tkinter\BuildLog.htm" _tkinter - 2 error(s), 0 warning(s) Build started: Project: bz2, Configuration: Release|Win32 Compiling... bz2module.c ..\Modules\bz2module.c(12) : fatal error C1083: Cannot open include file: 'bzlib.h': No such file or directory
1 个回答
2
你需要从py3k的根目录运行Tools\buildbot\external.bat
,而不是像你之前那样从Tools\buildbot\
这个子文件夹里运行。此外,如果你想要构建带有Tkinter支持的Python发布版本,你需要编辑或者复制Tools\buildbot\external.bat
,把里面的DEBUG=1去掉,这样它才能构建tclXY.dll和tkXY.dll(没有-g后缀的)。