2013-02-14 34 views
2

我對OS X上使用'Extras'和'site-packages'中的軟件包的方式感到困惑。特別是,我對我在這些目錄中看到的內容感到困惑,以及目錄中的重複包如何相互影響,以及我應該在哪裏放置我安裝的包。Python的'Extras'和'site-packages'目錄有什麼區別?

我假設'Extras'是不是核心Python的一部分的軟件包的位置,但它仍然分佈在給定的平臺上。例如,OS X分配有PyObjC,twistednumpy等;這些可以在'Extras'中找到。我還假設'site-packages'是我隨後安裝的軟件包所在的目錄,並且該目錄在「新」機器上爲空或不存在。此外,我假設安裝一個新的軟件包會將該版本單獨保留在'Extras'中,並將任何更新放在'site-packages'中,他們會在'Extras'中「屏蔽」這些更新。 (例如,通過刪除'站點包'可以簡單地恢復默認安裝。)

讓我感到困惑的是我的'Extras'目錄內容減少。與新鮮的OS X中的內容進行比較(10.8.2)安裝後,「附加」我目前的配置中缺少新鮮找不到安裝

altgraph 
altgraph-0.9-py2.7.egg-info 
dateutil 
macholib 
macholib-1.4.2-py2.7.egg-info 
modulegraph 
modulegraph-0.9.1-py2.7.egg-info 
numpy #though numpy-1.6.1-py2.7.egg-info is there 
pkg_resources.py # though .pyc is there 
py2app 
py2app-0.6.3-py2.7.egg-info 
setuptools # though setuptools-0.6c12dev_r88846-py2.7.egg-info is there 
site.py # though .pyc and .pyo are there 
xattr 
xattr-0.6.2-py2.7.egg-info 
zope 
zope.interface-3.5.1-py2.7.egg-info 

,有兩個附加文件

pkg_resources.py.OLD.1356069438.31 
setuptools-0.6c12dev_r88846-py2.7.egg-info.OLD.1356069438.31 
setuptools.OLD.1356069438.31 

就我的回憶而言,這些都是我自己更新的所有軟件包,所有版本都以「網站包」的形式出現。

'Extras'目錄的內容應該以這種方式「減少」嗎?更新'Extras'中的軟件包是否將它移動到'site-packages',或者'Extras'版本是否應該單獨保留,並且只需要'site-packages'中的那些軟件「隱藏」?


1:/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python
2:/Library/Python/2.7/site-packages/

+0

注:我*不*尋找涉及'virtualenv'的答案。最初我使用各種工具(二進制安裝程序等)安裝了一些軟件包。),但現在只使用'pip'(幾乎)。我沒有遇到任何錯誤(到目前爲止)。 – orome 2013-02-14 18:06:03

+0

我問的一個原因是,雖然'蛋黃'一直告訴我,我的Twisted(在'Extras'中)已過時。 Twisted項目警告說會干擾蘋果電腦公司令人不安的版本。我的假設是(我)可以升級,導致在'網站包'中有一個最新的Twisted,'Extras'中有一個不受干擾的版本;但看起來這樣的更新會刪除'Extras'中的版本。 – orome 2013-02-14 18:09:23

回答

1

似乎OSX(和Linux)並不喜歡蟒蛇分佈的默認安裝目錄中安裝額外的Python包。

pip可以搜索已安裝的模塊(如python本身),如果您進行升級,將會卸載舊版本,並在要求的位置安裝新版本,默認爲站點包。如果仔細查看點的輸出,它會告訴你它刪除了什麼以及它安裝了什麼。

所以,只有當你告訴pip安裝到Extras目錄,或者默認情況下會有一個pip補丁來爲OSX這麼做的時候,它才能工作。

舊版本被刪除實際上是一件好事,因爲否則您導入的模塊版本將取決於您的搜索路徑(sys.path),這種錯誤很容易發生。

是否是假設可能會有爭議,但這是您用pip升級方式的正常結果。

+1

'Extras'是蘋果向OS X發佈的系統Pythons添加的修改。它不是OS X或其他平臺上的標準Python發行版的一部分。 – 2015-03-02 21:38:30

相關問題