首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Ubuntu 10.4上安装Python-2.7

在Ubuntu 10.4上安装Python-2.7
EN

Stack Overflow用户
提问于 2010-10-29 05:14:26
回答 4查看 28.9K关注 0票数 13

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

'########编辑#####################

波本斯和卢珀帮了忙。

确保安装这些包,然后重新编译Python:

sudo智能安装zlib1g-dev libreadline6-dev libdb4.8-dev libncurses5-dev

'#################################

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

代码语言:javascript
复制
$ 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  

然后我安装了zlib:

代码语言:javascript
复制
$ sudo aptitude install zlibc  
Reading package lists... Done  
Building dependency tree         
Reading state information... Done  
Reading extended state information        
Initializing package states... Done  
The following NEW packages will be installed:  
  zlibc   
0 packages upgraded, 1 newly installed, 0 to remove and 44 not upgraded.  
Need to get 74.6kB of archives. After unpacking 299kB will be used.  
Writing extended state information... Done  
Get:1 http://archive.ubuntu.com/ubuntu/ lucid/universe zlibc 0.9k-4.1 [74.6kB]  
Fetched 74.6kB in 0s (108kB/s)  
Selecting previously deselected package zlibc.  
(Reading database ... 19824 files and directories currently installed.)  
Unpacking zlibc (from .../zlibc_0.9k-4.1_amd64.deb) ...  
Processing triggers for man-db ...  
Setting up zlibc (0.9k-4.1) ...  
Reading package lists... Done               
Building dependency tree         
Reading state information... Done  
Reading extended state information        
Initializing package states... Done  

在重新编译Python之前:

但是setuptools仍然不会安装:

代码语言:javascript
复制
$ 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  

我很困惑。

我检查了我的权限:

代码语言:javascript
复制
lrwxrwxrwx 1 root      18 Oct 28 18:19 /usr/bin/python -> /usr/bin/python2.7
lrwxrwxrwx 1 root      24 Oct 28 18:26 /usr/bin/python2.7 -> /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

我注意到我添加了一个额外的步骤,所以我重构了它:

代码语言:javascript
复制
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应该是默认版本,但它仍然失败。

代码语言:javascript
复制
$ 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  

zlib应该放在哪里才能正常工作?

代码语言:javascript
复制
$ 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
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-10-29 06:14:39

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

基于Debian的Linux发行版将每个C库分成一个单独的运行时二进制包和一个开发包,后者在编译时提供头文件。如果你想从依赖于这个库的源代码编译一些东西,你需要这两个包。这有点烦人,但考虑到像Ubuntu这样的库数量惊人地庞大,这可能是不可避免的。

确保您引入了您可能希望Python也能够使用的其他-dev包,例如libexpat1-devlibdb4.8-devlibncurses5-devlibreadline6-dev (使用Python解释器而不使用readline是很痛苦的!)。然后,您必须重新编译Python才能利用它们。

(或者,如果你不能被打扰,你可能会忘记setuptools,而只是解压你自己的最终应用程序,并将其放入站点--包或其他任何地方。我不得不说,我不是鸡蛋的狂热粉丝。)

票数 20
EN

Stack Overflow用户

发布于 2011-10-19 18:53:57

请记住,Ubuntu为x64架构使用了一个名为x64的目录。如果您正在使用该架构,则需要创建一个符号链接:

代码语言:javascript
复制
$ sudo ln -s /lib/x86_64-linux-gnu/libz.so.1 /lib/libz.so

同样,你也应该为其他共享库做同样的事情。

票数 9
EN

Stack Overflow用户

发布于 2010-10-29 05:19:56

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

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4047212

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档