通过zlib支持从源代码构建Python

发布于 2021-01-29 19:27:38

在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软件包已安装在我的系统上。

我也发现了类似的问题,建议将--with-zlib标志添加到./configure命令中。但是,这将返回一个错误,它是无法识别的选项,并且无效。

关注者
0
被浏览
51
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    解决方案是安装Ubuntu软件包dpkg-dev

    sudo apt-get install dpkg-dev
    

    原因在这里解释。

    简而言之,Ubuntu的最新版本不存储libz.so在标准/usr/lib位置,而是存储在特定于平台的位置。例如,在我的系统上是在/usr/lib/x86_64-linux- gnu。这样可以防止Python的构建系统找到它。

    dpkg-dev软件包将安装dpkg-architecture可执行文件,从而使Python能够找到必要的库。

    最初的问题是关于Python 3.2.3。我还下载了Python 2.7.3,并确认存在相同的问题,该解决方案也适用于它。



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看