2013-01-23 153 views
0

我正在編寫的服務器上有一個Python 2.4二進制文件可用於/usr/bin/和一個可用於$HOME/bin/的Python 3.0二進制文件。我需要安裝urllib3與Python 3一起使用,但easy_install當然使用系統範圍內的python。 easy_install安裝urllib3只適用於Python 2.4。我試圖用Python 3運行它,但它抱怨缺少模塊:爲非標準Python版本安裝urllib3

$ ~/bin/python3.0 /usr/bin/easy_install --prefix=/home/web/local urllib3 
Traceback (most recent call last): 
    File "/usr/bin/easy_install", line 5, in <module> 
    from pkg_resources import load_entry_point 
ImportError: No module named pkg_resources 

我該如何解決這個問題?請注意,我確實安裝了pipeasy_install,但pip缺少太多的依賴關係,所以我堅持使用easy_install

回答

2

你得到的錯誤是因爲沒有爲Python3安裝easy_install

你要按照這裏的說明先安裝easy_install爲Python3:http://pypi.python.org/pypi/distribute#installation-instructions

$ curl -O http://python-distribute.org/distribute_setup.py 
$ python3.0 distribute_setup.py 

然後你就可以運行~/bin/easy_install,或easy_install-3.0安裝urllib3

$ easy_install-3.0 urllib3 

現在!請注意,urllib3並沒有正式支持Python 3.0 ... 3.2是第一個受支持的版本,一般來說Python 3.2是大多數庫作者目前定位的版本,因此可能值得考慮切換到3.2(更不用說它很多更快和其他快樂的事情)。

+0

distribute_setup.py包依賴'reduce()',但是[reduce()函數已經從Python中刪除](http://stackoverflow.com/questions/8689184/python-name-reduce-is-沒有定義的)。 – dotancohen

+0

是嗎?運行Python 3.2,distribute_setup似乎沒有問題:\ –

+0

謝謝。這個Python 3.0安裝可能會被破壞。 – dotancohen