簡體   English   中英

在Ubuntu 10.4上安裝Python-2.7

[英]Installing Python-2.7 on Ubuntu 10.4

我似乎無法正確安裝zlib,我在Ubuntu10.4上從源代碼安裝了Python

'########編輯####################
bobince和Luper幫助了。
確保安裝了這些軟件包,然后重新編譯Python:
sudo aptitude安裝zlib1g-dev libreadline6-dev libdb4.8-dev libncurses5-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  

然后我安裝了zlib:

$ 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仍然無法安裝:

$ 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  

我很困惑。

我檢查了我的權限:

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

我注意到我添加了一個額外的步驟,因此我對其進行了重構:

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  

zlib應該位於哪里才能正常工作?

$ 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

您不需要zlibc ,這完全是zlibc回事。 您需要zlib1g (肯定已經安裝了),並且正如Luper所提到的,需要“開發”軟件包zlib1g-dev

基於Debian的Linux發行版將每個C庫分為一個單獨的運行時二進制程序包和一個開發包,該程序包提供了要在編譯時包含的標頭。 如果要從源代碼中編譯依賴庫的內容,則需要兩個軟件包。 有點煩,但是考慮到Ubuntu之類的庫數量驚人,這可能是不可避免的。

確保引入了其他您可能希望Python也可以使用的-dev軟件包,例如libexpat1-devlibdb4.8-devlibncurses5-devlibreadline6-dev (使用不帶readline的Python解釋器很痛苦! )。 然后,您必須重新編譯Python以利用它們。

(或者,如果您不打擾,您可能會忘記setuptools,而只需解壓縮自己的任何終端應用程序,然后將其放到站點包中或任何地方。不得不說我不是雞蛋的忠實粉絲。)

請記住,對於x64體系結構, Ubuntu使用名為/ lib / x86_64-linux-gnu的目錄。 如果使用該體系結構,則需要創建一個符號鏈接:

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

另外,您應該對其他共享庫執行相同的操作。

從源配置和編譯Python時,請確保已安裝zlib(以及所需的標准模塊依賴的其他任何lib)的dev軟件包。

在配置和編譯Python之前,請嘗試安裝dpkg-dev。 這將在系統上安裝dpkg-architecture可執行文件,Python使用該可執行文件(請參閱setup.py)確定libz.so庫所在的位置。 有關更多詳細信息,請參見http://fnch.users.sourceforge.net/pythononubuntu1004.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM