使用zlib支持从源代码构建Python

54

在Ubuntu 12.04上从源代码构建Python 3.2.3时,zlib模块不可用。

我从python.org下载了官方的源代码分发包,并尝试使用以下命令构建和安装它。

tar xfa Python3.2.3.tar.bz2
cd Python-3.2.3
./configure --prefix=/opt/python3.2
make
sudo make install

make命令的输出包括以下内容。

Python build finished, but the necessary bits to build these modules were not found:
_curses            _curses_panel      _dbm            
_gdbm              _sqlite3           _ssl            
_tkinter           bz2                readline        
zlib                                            

在运行make install并启动解释器后,无法导入zlib模块。

我确认在我的系统上安装了zlib1g-dev软件包。

我还找到了一个类似的问题(链接),该问题建议在./configure命令中添加--with-zlib标志。然而,这会返回一个错误,指出它是未被识别的选项,没有任何效果。


我希望自己回答自己的问题并不是一件坏事。我花了几个令人沮丧的小时来解决这个问题,最终在我的答案下面链接的地方找到了解决方案,那个地方相当难找。希望把它放在这里能让其他人更容易找到。 - joshayers
1
我建议在运行configure + make从源代码构建自己的Python之前,先运行sudo apt-get build-dep python或类似命令。这可以确保你拥有所有必要的开发头文件,以供Python链接到库时使用。 - gps
11个回答

0

对于在macOS Mojave上遇到相同错误的任何人,这是安装/链接头文件的最简单解决方案:

open /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg

然后像往常一样构建Python(pyenv 构建也适用)。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接