簡體   English   中英

在OS X中安裝python庫時遇到問題(numpy,scipy,matplotlib)

[英]Trouble installing python libraries in OS X (numpy, scipy, matplotlib)

之前已經提出了與此類似的問題,但我只能找到問題的解釋,而不是解決方案。

我正在運行OS X Mavericks,並學習python。 我安裝了Python但很少知道它是內置的。

我使用sublime文本作為我的IDE,我嘗試安裝一些庫(scipy,numpy,matplotlib)。 在Sublime Text中,當我導入庫時,它們可以工作。 我可以導入scipy並完美打印scipy.pi。 但是,當我在終端中運行它時,它說它找不到那些庫。

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

感謝任何幫助,謝謝

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

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

但是,我建議你運行你安裝的python版本,而不是運行OS X版本的python。 如果您使用python.org中的.dmg安裝,您可以在終端中輸入'python2.7'或'python3'(取決於您安裝的版本),一切都會正常工作。

如果你願意,你可以設置命令'python'來運行你安裝的python版本而不是OS X默認python,方法是在〜/ .bash_profile文件中輸入別名或修改你的PATH環境變量。 更簡單的選擇是在安裝后使用python文件夾中的“Update Shell Profile”腳本。

您可以考慮再考慮一下 - 考慮使用virtualenv設置虛擬環境,並在其中安裝scipy,numpy等。 當你剛開始時,這個選項可能比它的價值更麻煩,但從長遠來看,這是一項很好的技能,可以使你的開發更清潔,更容易維護。

最后,因為聽起來你可能正在進行科學計算,你可以看看EPD free ,它預裝了許多科學軟件包,並且作為獎勵將自動為你設置必要的shell變量。

你需要准確找出你從Sublime Text調用的內容。 此解決方案僅適用於其他人所說的是真的,而Sublime Text正在調用另一個與您從shell調用的python解釋器不同的 python解釋器。


第1步

快速而骯臟的方式來找出Sublime Text正在調用的內容:

  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 / local / bin / python所在的位置:

% ls -la /usr/local/bin/python
lrwxr-xr-x  1 someuser  wheel  33 Jul 29 23:14 /usr/local/bin/python@ -> ../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在命令行中調用,那么您可以更改“which python”(例如/ usr / local / bin)所帶來的鏈接。

例如(不要復制和粘貼 - 請了解路徑的來源和原因):

ln -s PATH_TO_YOUR_PYTHON / usr / local / bin / python

有關在OSX上更改默認python的更好討論,請參閱“ 如何更改在Snow Leopard中使用的Python版本? ”。


另一件事 - 如果你想從Sublime Text運行不同的python,那么看看這個

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM