我一直在制定的Python 2.7奮力是默認的Python我係統。
它已經是。當你打開一個清晰的Lion框,並將python
輸入到shell中時,它會運行/usr/bin/python
,它是Python 2.7.2。
Python 2.6中帶着我的操作系統
獅配備了2.5,2.6,2.7,和2.3隱患。
它們安裝在/System/Library/Frameworks/Python.framework/Versions
。除2.3以外的所有符號鏈接/usr/bin/python2.x
,在一個乾淨的系統上,將是您的PATH上的第一個名稱,所以只需輸入python2.6
將運行2.6,而python2.7
將運行2.7。
還有一個特殊的包裝/usr/bin/python
默認運行2.7,但您可以配置VERSIONER_PYTHON_VERSION
或com.apple.versioner.python
的首選項。
我已經安裝了2.7(源代碼),並一直試圖使我的默認版本。
你是什麼意思的「默認版本」?當你在一個新的終端shell中輸入python
,或者在腳本中使用#!/usr/bin/env python
作爲shebang行時,你是否希望它能夠運行?
要做到這一點,最簡單的方法是將您安裝到PATH中的任何目錄安裝到比/ usr/bin更高的位置。
如果你已經安裝了「framework build」(你應該有),那麼將會有一個目錄/Library/Frameworks/Python.framework/Versions/2.7/bin
,你可以放在PATH的頂部。這可以避免影響/ usr/local和/ usr的順序,這意味着您可以使用由setup.py安裝程序安裝的任何腳本,而不必將它們符號鏈接到/ usr/local/bin。
這是很重要的,因爲蘋果的Python腳本將安裝到/ usr/local/bin目錄,例如,如果你/usr/bin/easy_install-2.7 pip
,你會得到/usr/local/bin/pip
和/usr/local/bin/pip-2.7 . If you also install
pip`您定製的Python,你不希望它出現在同一個地方;否則,無論您最後安裝的是哪個,都會取代另一個。
如果您的系統沒有安裝框架的構建,或者你已經配置了它的腳本安裝到/usr/local/bin
無論如何,或者你想向影響的/ usr /本地的訂單,只是把/usr/local/bin
在頂部您路徑。
不知何故,Python 2.6中是越來越自動別名爲我的默認蟒每次我的殼開始
通過自動別名,你的意思是有一個bash alias
?如你在輸入alias
,它給你一個列表,包括python
?
如果是這樣,你需要解決這個問題,而不是試圖在它之上堆疊另一個黑客來撤銷它所具有的任何效果。
如果~/.*
中沒有別名命令,請查看/etc/
。如果你使用grep -r alias /etc
,它會給你一個很大的列表,你必須跳過郵件別名和apache別名(可能有一些權限被拒絕輸出到stderr),但是在那之後,應該沒有shell別名。
而且,我的/ usr /斌/ Python是沒有別名任何東西,
這讓我想你混淆混淆和符號鏈接。他們不是一回事。哪一個是問題?在修復之前,你必須知道什麼是錯誤的。
所以,試試這個:
which python
它應該是/Library/Frameworks/Python.framework/Versions/2.7/bin/python
如果您的路徑是你說的是。如果沒有,你沒有設置你的PATH權利,所以echo $PATH
,看看。
如果是那,那麼ls -l /Library/Frameworks/Python.framework/Versions/2.7/bin/python
。它應該是python2.7
或./python2.7
的符號鏈接,而不是其他目錄中的任何內容。如果沒有,你的安裝被破壞,最好的辦法是卸載Python並正確重新安裝。或只是不要重新安裝它,並使用蘋果的。或者,如果您確實需要2.7.3而不是2.7.2,或者您需要構建獨立的py2app
捆綁包(特別是如果您需要它們與舊OS X兼容),或者您對sudo
過敏,全局文件是世界可寫的,或者出於其他原因,你不能使用Apple的,從python.org或Homebrew安裝,而不是自己嘗試。
附註:您是否考慮過使用'virtualenv'?無論您想要什麼樣的Python安裝(Apple或其他),您都可以設置所需的多種虛擬環境,並且可以隨時明確選擇想要激活的那個。 – abarnert 2013-03-15 19:10:28
我正在認真考慮它。 – espais 2013-03-15 19:25:47
'virtualenv'真的很酷。有一個原因是它被添加到3.3的標準庫中。一旦你處於需要關注你的環境的情況下(實際上,一旦你不只是使用系統的默認Python 2.x,特別是如果你正在安裝另一個相同的2.x版本的副本你已經擁有了,你是),你可以明確而容易地做到這一點。 – abarnert 2013-03-15 19:33:29