(高級道歉缺乏或正確的鏈接;系統不會讓我補充兩個以上)python.org發佈可以與Apple框架構建好嗎?
不幸的是,我學到了艱辛的道路,你不應該用默認的爛攤子Mac OS X中的Python安裝(特別是10.6.8)。
對於2.6.6(http://www.python.org/getit/releases/2.6.6/)和2.5.4(http://www.python.org/getit/releases/2.5.4/)使用python.org安裝程序後,我的Python版本比Apple提供的更成熟(這對於開發很有用),但已破壞核心系統功能(這對其他任何事情都是不利的)。當試圖運行namebench(https://code.google.com/p/namebench/),Blink(http://icanblink.com/)和Mercurial(https://www.mercurial-scm.org/)時,最明顯的中斷是。從我能收集到的信息來看,這是路徑。
在默認安裝中,路徑應該類似於this question中概述的內容。相反,我的是這樣的:
$ /usr/bin/python2.6 -V
Python 2.6.6
$ which python
/usr/bin/python
$ python
Python 2.6.6 (r266:84374, Aug 31 2010, 11:00:51)
[GCC 4.0.1 (Apple Inc. build 5493)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> for i in sys.path:
... print i
...
/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/setuptools-0.6c11-py2.6.egg
/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/pip-1.0.2-py2.6.egg
/Library/Frameworks/Python.framework/Versions/2.6/lib/python26.zip
/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6
/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/plat-darwin
/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/plat-mac
/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/plat-mac/lib-scriptpackages
/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/lib-tk
/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/lib-old
/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/lib-dynload
/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages
(這是一個類似的故事爲2.5,但是,爲了簡單起見,我將與2.6堅持。)
的問題似乎沒有列入的:
- /Library/Python/2.6/site-packages/*.egg
- /Library/Python/2.6/site-packages
- /System/Library/Frameworks/Python.framework/Versions/2.6/ lib/python2.6
- /System/Library/Frameworks/Python.framework/Versions/2.6/Extras/lib/python
這就解釋了爲什麼眨眼和namebench找不到PyObjC(Is PyObjC pre-installed on OSX SL?)和Mercurial無法找到它模塊(在/Library/Python/2.6)
問題#4865在Python bug跟蹤器中部分地解決了這個特殊的問題,這個問題已經被固定用於版本2.7和更高版本。但是因爲它是「功能請求而不是錯誤修復」,所以沒有被移植到2.5和2.6。即使那時,看着提交的修復程序(http://hg.python.org/lookup/r70778),我不確定它是否解決了缺少對「Extras」目錄的引用。
據我所知,我可以通過手動修改site.py來手動添加Python路徑。我也可以使用PYTHONPATH環境變量。我寧願不改變site.py來造成任何進一步的破壞,並且修改PYTHONPATH只會對使用我的用戶帳戶從shell運行的腳本/應用程序有效。
我可以得到這些更新版本的Python引用與默認框架安裝相同的路徑嗎?如果是這樣,那麼最好的方法是什麼?如果沒有,是否有回滾到系統默認值的可接受方法?
coffeebucket:歡迎來到SO!雖然額外的信息很好,但您的帖子中的某些鏈接是不必要的。您無需爲每件事都提供每個下載/項目頁面鏈接,如果需要進一步澄清,稍後有人可以在後面的評論中提出要求。 – orlp
感謝爆破。我可能會有一些額外的信息帶走了。適用於未來的職位。 – coffeebucket