找不到名为zlib的模块

时间:2012-05-18 14:41:11

标签: python python-2.6

我下载了python2.6.6源代​​码http://www.python.org/getit/releases/2.6.6/ 之后我运行这些命令 。/配置 使

我尝试导入zlib,但它没有名为zlib的模块。如何为它安装zlib模块

我尝试安装python2.6.8后,我得到了同样的错误,没有zlib。 安装时我得到以下错误

无法找到构建这些模块的必要位:

_bsddb             _curses            _curses_panel   
_hashlib           _sqlite3           _ssl            
_tkinter           bsddb185           bz2             
dbm                dl                 gdbm            
imageop            linuxaudiodev      ossaudiodev     
readline           sunaudiodev        zlib            

要查找必要的位,请在detect_modules()中的setup.py中查找模块的名称。

无法构建这些模块:

crypt              nis   

4 个答案:

答案 0 :(得分:8)

我试过以下帮助我完成了一些这些模块。
你必须编辑setup.py。
在setup.py中找到以下行:

lib_dirs = self.compiler.library_dirs + [
   '/lib64', '/usr/lib64',
   '/lib', '/usr/lib',
   ]

对于64位
添加/usr/lib/x86_64-linux-gnu

lib_dirs = self.compiler.library_dirs + [
   '/lib64', '/usr/lib64',
   '/lib', '/usr/lib', '/usr/lib/x86_64-linux-gnu',
   ]

对于32位
添加/usr/lib/i386-linux-gnu

lib_dirs = self.compiler.library_dirs + [
   '/lib64', '/usr/lib64',
   '/lib', '/usr/lib', '/usr/lib/i386-linux-gnu',
   ]

注意x86_64-linux-gnu& i386-linux-gnu可能位于其他位置 在你的系统中如此路径。

在此之后,您只剩下以下模块:

_bsddb             bsddb185           dbm             
gdbm               sunaudiodev  

答案 1 :(得分:3)

我解决了将LDFLAGS=-L/usr/lib/x86_64-linux-gnu添加为configure参数的问题。

答案 2 :(得分:2)

我为自己写了一个说明问题的说明,可能会有所帮助:python installation

您真的需要bsddbsunaudiodev个模块吗?你可能不想这样,因为自python 2.6以来它们都被弃用了

答案 3 :(得分:1)

我有这个确切的问题(确切的python发行版)Dmity的答案几乎可以工作......但经过几个小时的搜索后我觉得我已经找到了问题(假设你使用的是ubuntu 11.10 - 12.10)

好的,至少对我来说问题源于Ubuntu禁用SSLv2的事实,因此解决方法相当复杂。除了向您的安装文件添加库路径之外,基本上您必须深入研究源代码并在构建之前删除对SSLv2的所有引用。我遵循了这个教程,现在我有一个使用python-2.6.8的工作virtualenv:

http://ubuntuforums.org/showthread.php?t=1976837

(这些补丁很容易实现而不使用patch)希望这有助于解决问题。