2012-07-25 42 views
6

我已經安裝了Python 2.6的Python包的LOT。現在我想將Python升級到2.7。是否有適當或系統的方式來更新所有已安裝的軟件包?將Python從2.6更新到2.7時,更新Python包的正確方法是什麼?

在我的系統中,所有的包都安裝在 /usr/lib64/python2.6/site-packages/和 /usr/lib/python2.6/site-packages/

一個顯而易見的方法是安裝Python 2.7,下載所有的軟件包源代碼或egg文件,並逐個重新安裝。但是,像numpy和scipy這樣的一些有用的軟件包對於安裝而言是臭名昭着的,特別是當需要從源代碼安裝時。我希望我需要花費幾個小時來找到軟件包並解決安裝問題。

任何人有任何建議系統地更新已安裝的軟件包?

回答

4

首先,你不應該永遠永遠不會永遠在任何操作系統上使用sudo在系統庫文件夾中使用easy_install安裝Python包。

http://jamiecurle.co.uk/blog/installing-pip-virtualenv-and-virtualenvwrapper-on-os-x/#comment-573429347

正確的做法將讓你的安裝過程重複。 Python世界中存在兩種常用的解決方案。這些解決方案會自動從http://pypi.python.org

PIP

PIP從Plone的CMS https://github.com/plone/Installers-UnifiedInstaller/blob/master/base_skeleton/versions.cfg

下載Python包的正確版本和內部的virtualenv http://pypi.python.org/pypi/virtualenv

requirements.txt http://www.pip-installer.org/en/latest/requirements.html Buidout

擴建,例如

構建還可以對需要本地庫的包進行配置,使其進行安裝樣式安裝。例如存在解決方案的libxml2 + LXML

http://pypi.python.org/pypi/z3c.recipe.staticlxml/

(注:擴建不需要的virtualenv因爲它從系統的Python自身的隔離)

+1

事實上,基於Fedora的的發行版在傳統上做了*非常好的分離出不同版本的軟件包;大部分問題都與發行版有關,它將所有內容都放到一個目錄中,並讓各種Python版本支持它們以達到至高無上的地位。 – 2012-07-25 16:13:12

+0

在我看來,點不能完全解決原來的問題。即使pip可能解決依賴關係問題並使安裝過程可重複,但仍然需要升級到2.7(或任何較新版本),才能手動「pip安裝」安裝在2.6(或任何較早版本)中的所有軟件包。 – user1036719 2012-12-03 03:00:25

+1

是的,但是如果您的requirements.txt是針對只運行一個pip install命令的應用程序維護的。或者我錯過了什麼?當然,如果您只有頭腦中沒有依賴信息,那麼您需要手動重新安裝所有軟件包。 – 2012-12-03 14:07:04

相關問題