如何在Windows下编译包含所有外部库的Python?

1 投票
1 回答
969 浏览
提问于 2025-04-16 01:40

当我使用 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后缀的)。

撰写回答