2014-01-11 66 views
2

我在osx-mavericks上,遇到Segmentation fault:11問題。Macports聲明python是2.7.6,但是python --version說2.7.5

這SO職位:Segmentation fault: 11 in OS X 說,這可能由蟒蛇造成的2.7.5

我試圖蟒蛇升級到下一個版本。

當我做

port installed | grep python 

我看到:

python27 @2.7.6_0 (active) 

然而,當我運行

python --version 

我得到

Python 2.7.5 

它也爲python2.7 --version做同樣的行爲。誰能幫我這個?我如何獲得2.7.6以上的Python?它已經在那裏,只是表現怪異?我在機器上還有2.7.5的位置嗎? (另外,值得注意的是我對osx開發環境有點新)


感謝所有。

我在/ opt/local/bin/python找到了macports python,而哪個python顯示了我/ usr/local/bin/python。我改變了這兩個目錄在我的PATH中看到的順序,現在一切似乎都奏效了。

+1

運行'which python'並確保Macports安裝的版本實際上包含在'$ PATH'中。 –

+0

另請注意,您可以在MacPorts下安裝不同的版本。然後在它們之間切換,你可以運行'port select python python27'(如果你想查看哪個版本可用,請不要包含'python27'。 –

+0

下面的答案並不是真正用MacPorts做事情的正確方法。 port select --list python'作爲python版本的列表,而@TimothyBrown提到:'port select --set python27' for the 2.7.6 MacPort。 –

回答

4

OSX自帶python。您的路徑上的python版本很可能是開箱即用的版本。如果您使用

which python 

你應該得到您所呼叫的蟒蛇的目錄位置,你可以看到,如果它是的MacPorts或OSX版本。我的10.8 mac上的OSX Python在/Library/Frameworks/Python.framework中。

使用Ned Deily的下面的評論,你可以找到你想要從終端使用的Python的位置。然後你可以在你的〜。/ bash_profile中添加一行,將PYTHONPATH設置爲你想要使用的版本。

export PYTHONPATH=$PYTHONPATH:/path/to/your/python 

然後,您必須重新打開終端或源.bash_profile。

source .bash_profile 

然後再次使用哪個命令來確保你有你想要的版本。

+1

Apple提供的Pythons在'/ System/Library/Frameworks'和'/ usr/bin'。'/ Library/Frameworks'和'/ usr/local/bin'是python.org Pythons等第三方安裝的位置。 MacPorts Pythons默認安裝在'/ opt/local/Library/Frameworks'和'/ opt/local/bin'中。 –

+0

有關SO和其他地方的*有很多錯誤信息。這個答案是唯一有效的。 – AWrightIV

+0

是的,它可能是一個頭痛的問題。主要是因爲Apple不斷移動默認位置。 Java更糟糕。 – jeremyjjbrown