2013-10-27 82 views
0

以前曾問過與此類似的問題,但我只能找到問題的解釋,而不是解決方案。在OS X(numpy,scipy,matplotlib)中安裝python庫時遇到的麻煩

我正在運行OS X Mavericks和學習python。我安裝了Python,但很少有人知道它是內置的。我使用崇高的文本作爲我的IDE,並試圖安裝一些庫(scipy,numpy,matplotlib)。在Sublime Text中,當我導入這些庫時,它們工作。我可以導入scipy並完美地打印scipy.pi。但是,當我在終端上運行它時,它說它無法找到這些庫。

其他人已經解釋說終端正在運行操作系統的python,並且找不到庫,但沒有解釋應該在哪裏放置庫以使其在終端中正常運行。

任何幫助表示讚賞,謝謝

+0

謝謝你的幫助!在嘗試其他任何事情之前,我安裝了免費的EDP。無意中,它修復了終端工具中的python:/不知道如何或爲什麼。我更喜歡Sublime Text 2的外觀和感覺,但是你可以告訴它這是爲python構建的。謝謝! – Reck

回答

1

簡短的回答你的問題是,你需要修改PYTHONPATH環境變量指向你想要的模塊。如果你正在使用bash(你最有可能的是),你可以做這樣的:

export PYTHONPATH=$PYTHONPATH:'/path/to/your/modules/' 

然而,而非運行蟒蛇的OS X版本,我建議你運行的Python版本你安裝了。如果您使用python.org中的.dmg進行安裝,則可以在終端中輸入'python2.7'或'python3'(取決於您安裝的版本),一切都將正常工作。

如果需要,可以通過在〜/ .bash_profile中放置別名或修改PATH環境變量來設置命令'python'來運行您安裝的python版本而不是OS X默認python文件。更簡單的選擇是在安裝後使用位於python文件夾中的「更新外殼配置文件」腳本。

還有一種可能性,你可以考慮設置一個虛擬環境virtualenv,並在其中安裝scipy,numpy等。當你第一次出發時,這個選項可能比它的價值更麻煩,但從長遠來看,這是一個很好的技巧,可以讓你的開發變得更清潔,更容易維護。最後,因爲聽起來你可能正在做科學計算,所以你可以看看EPD free,它預裝了許多科學軟件包,作爲獎勵將自動爲你設置必要的shell變量。

1

你需要從Sublime Text中準確找出你正在調用的內容。這個解決方案只適用於其他人說的是真的,Sublime Text正在調用另一個Python解釋器,它是與您從shell調用的解釋器不同的


步驟1

快速和骯髒的方式來找出什麼崇高的文字呼籲:

  1. 使Python你的編譯系統。選擇菜單欄上:工具>生成系統>的Python
  2. 創建新文件(CMD + N)
  3. 生成(CMD + B)

這應該給你這樣的錯誤消息:

/usr/local/Cellar/python/2.7.5/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python: can't find '__main__' module in '' 
[Finished in 0.1s with exit code 1] 
[shell_cmd: python -u ""] 
[dir: /Users/someuser/Downloads] 
[path: /usr/bin:/bin:/usr/sbin:/sbin] 

第一行提供了Sublime Text正在使用的python解釋器的路徑。


步驟2

接下來,你應該找出你在呼喚什麼樣的命令行:

% which python 
/usr/local/bin/python 

使用上面的信息,你可以找到這裏的/ usr /本地/ bin/python通過:

% ls -la /usr/local/bin/python 
lrwxr-xr-x 1 someuser wheel 33 Jul 29 23:14 /usr/local/bin/[email protected] -> ../Cellar/python/2.7.5/bin/python 

如果這兩個路徑是一樣的,那麼停止:我的解決方案不適用於你的情況。


步驟3

如果兩條路徑不同,那麼你要麼需要專門使用的路徑,Python解釋崇高文呼籲:

% echo 'print "hello"' | /usr/local/Cellar/python/2.7.5/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python 
hello 

或者,如果您只是使用python在命令行中調用,那麼您可以更改「哪個python」(例如/ usr/local/bin)出現的鏈接。

例如(不要複製粘貼此 - 請明白的地方的路徑是從哪裏來的,爲什麼):

LN -s PATH_TO_YOUR_PYTHON在/ usr/local/bin目錄/蟒蛇

爲了更好地討論有關更改默認的Python在OSX上,請參閱「How to change which Python version gets used in Snow Leopard?」。


另一件事 - 如果你想運行從崇高文本不同的蟒蛇,然後看看this

相關問題