2010-07-02 70 views
3

我想在運行Debian 4.3.2.1-1的Web服務器上安裝Python 2.6.5。我解壓tarball,運行「./configure --prefix/usr /」,然後運行「make」。我看到了這個消息。嘗試在Debian 4.3.2中安裝Python 2.6.5時無法創建readline

Failed to find the necessary bits to build these modules: 
_bsddb    _hashlib   _ssl    
_tkinter   bsddb185   bz2    
dl     imageop   readline   
sunaudiodev           
To find the necessary bits, look in setup.py in detect_modules() for the module's name. 

我認爲這是不是一個大問題,所以我安裝的其餘部分,我認爲這是隻是運行「make install的」爲根說幹就幹。

我試着運行新版本的Python,它工作,但有些事情有趣。交互式提示符下的常用鍵盤快捷鍵不起作用。我嘗試導入readline,解釋器找不到它。有什麼辦法可以使它工作嗎?我試圖在setup.py中看起來像「make」告訴我的,但我找不到任何對我有用的線索。我真的很想讓readline工作。我並不關心其他模塊。

編輯:這是在DreamHost專用服務器上。他們有一些老版本的Python和readline,他們似乎工作得很好。我正試圖使它適用於這個新版本。

我想補充一點,我是一個Linux新手,我不太瞭解安裝軟件包,以及使用RPM或apt-get。

回答

7

您可能需要安裝用於Debian 4的libreadline-dev虛擬軟件包(etch)才能夠使用libreadline支持來構建python。檢查Debian python2.6源包here的包依賴關係。它適用於Debian的較新版本,因此不是所有相同的版本都可以在etch中找到,但是您應該能夠搜索可用的最近版本,以便能夠構建大多數其他缺失的模塊。或者你可以嘗試安裝當前測試(squeeze)版本的python2.6,然後查看它帶來了多少依賴關係,以及如果可以升級系統上的這些依賴關係。

+0

我試過了,它工作。謝謝。如果有人需要知道,我通過以root身份運行「aptitude install libreadline-dev」命令來安裝libreadline-dev。 – 2010-07-02 18:59:43

+0

爲鏈接到python源代碼包依賴關係的+1 - 甚至適用於我在Debian 6上面對Python 2.7的相同問題的努力 – ssc 2013-04-21 14:32:04

+0

如果其他人遇到我的情況:如果您需要在Ubuntu上構建Python 2.6.6+ 14.04,其中readline 6.3,由於readline的更改,您可能會遇到構建錯誤。在這種情況下,我可以通過在這裏應用Python 2.6.6的補丁來解決構建錯誤(滾動到補丁的鏈接底部):https://github.com/yyuu/pyenv/issues/126 – rdguam 2015-04-08 16:19:57