Python 找不到名为zlib的模块

Python 找不到名为zlib的模块,python,python-2.6,Python,Python 2.6,我下载python2.6.6源代码表单 然后我运行这些命令 /配置 制造 我试图导入zlib,但它说没有名为zlib的模块。如何为它安装zlib模块 在我尝试安装python2.6.8之后,我得到了相同的错误号zlib。 在安装它时,我发现以下错误 未能找到构建这些模块所需的位: _bsddb _curses _curses_panel _hashlib _sqlite3 _ssl

我下载python2.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            
crypt              nis   
要查找必要的位,请在detect_modules()中的setup.py中查找模块名称

未能生成这些模块:

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

我尝试了以下方法,这有助于我学习其中一些模块。
您必须编辑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',
   ]
lib_dirs = self.compiler.library_dirs + [
   '/lib64', '/usr/lib64',
   '/lib', '/usr/lib', '/usr/lib/i386-linux-gnu',
   ]
用于32位
添加
/usr/lib/i386 linux gnu

lib_dirs = self.compiler.library_dirs + [
   '/lib64', '/usr/lib64',
   '/lib', '/usr/lib', '/usr/lib/x86_64-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  

我为自己写了一张便条来解决您的问题,可能会有所帮助:


您真的需要
bsddb
sunaudiodev
模块吗?您可能不想这样做,因为这两个都是弃用的,因为python 2.6解决了添加
LDFLAGS=-L/usr/lib/x86\u 64-linux-gnu
作为
configure
参数的问题。

我遇到了这个确切的问题(同样是python发行版)。Dmity的答案几乎奏效了。。。但是经过几个小时的搜索,我想我已经找到了问题所在(假设你使用的是ubuntu 11.10-12.10)

好吧,至少对我来说,这个问题源于Ubuntu禁用了SSLv2,所以解决方法相当复杂。基本上,除了将库路径添加到安装文件中之外,您还必须深入研究源代码并在构建SSLv2之前删除对它的所有引用。我学习了本教程,现在我有了一个使用python-2.6.8的VirtualNV:


(无需使用
修补程序
,这些修补程序很容易实现)希望这有助于解决问题。PHEW

为什么您首先要安装一个过时的版本,它只有较新的安全补丁版本?我有一个运行在python2.6上的程序,所以我需要zlib,至少要安装python2.6.8。我试过了,但问题相同。。我更新了descriptionI,添加了两个dir,第一个是64位版本,它对我来说很有用。谢谢添加“/usr/lib/x86_64-linux-gnu”解决了我在ubuntu 14.04中尝试使用两个python版本时遇到的zlib问题。谢谢@bigEditing
setup。py
不是我们想要的解决方案。相反,按照@Dmitry的建议,将
CFLAGS
LDFLAGS
传递到
configure