在Ubuntu 10.4上安装Python-2.7

在Ubuntu 10.4上安装Python-2.7,python,zlib,setuptools,Python,Zlib,Setuptools,我似乎无法正确安装zlib,我从Ubuntu10.4的源代码安装了Python “编辑” 博宾斯和卢珀帮了忙。 确保安装了这些软件包,然后重新编译Python: sudo智能安装zlib1g dev libreadline6 dev libdb4.8-dev libncurse5 dev "################################# 安装后,我尝试安装setuptools.py $ sh setuptools-0.6c11-py2.7.egg Traceback (

我似乎无法正确安装zlib,我从Ubuntu10.4的源代码安装了Python

“编辑” 博宾斯和卢珀帮了忙。
确保安装了这些软件包,然后重新编译Python:
sudo智能安装zlib1g dev libreadline6 dev libdb4.8-dev libncurse5 dev
"#################################

安装后,我尝试安装setuptools.py

$ sh setuptools-0.6c11-py2.7.egg   
Traceback (most recent call last):  
  File "<string>", line 1, in <module>  
zipimport.ZipImportError: can't decompress data; zlib not available  
在重新编译Python之前:

但setuptools仍无法安装:

$ sh setuptools-0.6c11-py2.7.egg   
Traceback (most recent call last):  
  File "<string>", line 1, in <module>  
zipimport.ZipImportError: can't decompress data; zlib not available  
我注意到我添加了一个额外的步骤,所以我重构了它:

llrwxrwxrwx 1 root      24 Oct 28 18:33 /usr/bin/python -> /usr/local/bin/python2.7  
lrwxrwxrwx 1 root       9 Oct 28 15:13 /usr/bin/python2 -> python2.6  
-rwxr-xr-x 1 root 2613296 Apr 16  2010 /usr/bin/python2.6  
所以现在,Python2.7应该是默认版本,但它仍然失败

$ sh setuptools-0.6c11-py2.7.egg --prefix=/usr/local/bin/python2.7  
Traceback (most recent call last):  
  File "<string>", line 1, in <module>  
zipimport.ZipImportError: can't decompress data; zlib not available  

确保在从源代码配置和编译Python时安装了zlib的开发包(以及您需要的标准模块所依赖的任何其他lib)。

如果您不想要
zlibc
,那完全是另外一回事。您需要
zlib1g
(它肯定已经安装好了)以及Luper提到的
zlib1g dev
的“开发”包

基于Debian的Linux发行版将每个C库拆分为一个单独的运行时二进制软件包和一个开发软件包,开发软件包在编译时提供要包含的头文件。如果要从依赖于库的源代码处编译某些内容,则需要这两个包。这有点烦人,但考虑到像Ubuntu这样的用户提供的libs数量惊人,这可能是不可避免的

确保您也带来了希望Python能够使用的其他
-dev
包,例如
libexpat1 dev
libdb4.8-dev
libncurse5 dev
libreadline6 dev
(在没有readline的情况下使用Python解释器是痛苦的!)。然后,您必须重新编译Python以利用它们


(或者,如果你不介意的话,你可能会忘记setuptools,只需自己解包任何终端应用程序,并将其放在网站包或任何地方。不得不说我不是鸡蛋的超级粉丝。)

请记住,Ubuntu正在使用一个名为/lib/x86_64-linux-gnu的目录用于x64架构。如果使用该体系结构,则需要创建符号链接:

$ sudo ln -s /lib/x86_64-linux-gnu/libz.so.1 /lib/libz.so

此外,您还应该对其他共享库执行相同的操作。

在配置和编译Python之前,尝试安装dpkg dev。这将在系统上安装dpkg体系结构可执行文件,Python使用该文件(参见setup.py)确定libz.so库的位置。有关更多详细信息,请参见

我个人的偏好是修改python distutils,使其看起来在正确的位置。这个命令应该可以做到这一点:/bin/sed-i-e/self.library_dirs=/s#[].[\'/usr/lib/x86_64-linux-gnu\',\'/lib/x86_64-linux-gnu\']。“/usr/lib/python2.7/distutils/command/build_ext.pyOn Xubuntu 12.04.1,我必须安装zlib1g-dev和dpkg-dev。
$ sh setuptools-0.6c11-py2.7.egg --prefix=/usr/local/bin/python2.7  
Traceback (most recent call last):  
  File "<string>", line 1, in <module>  
zipimport.ZipImportError: can't decompress data; zlib not available  
$ find / -name zlib 2>/dev/null  
/home/username/sources/Python-2.7/Modules/zlib  
/home/username/sources/Python-2.7/Demo/zlib  

username@servername Thu Oct 28 18:43:17 ~/sources   
$ find / -name zlibc 2>/dev/null  
/usr/share/lintian/overrides/zlibc  
/usr/share/doc/zlibc
$ sudo ln -s /lib/x86_64-linux-gnu/libz.so.1 /lib/libz.so