2015-12-15 18 views

回答

1

根據我在Mac(以及其他操作系統)的經驗,最好使用Anaconda/Miniconda。對於像NumPy這樣的軟件包和來自科學堆棧的其他軟件包來說尤其如此。

雖然Anaconda是一個擁有大約200個軟件包的成熟發行版,但Miniconda只是具有幾個基本庫的Python。最大的好處是所有的軟件包都以二進制形式安裝。此外,它使並行安裝多個Python版本變得非常簡單和穩定。例如:

conda create -n py27 python=2.7 

用Python 2.7創建一個新的環境。

source activate py27 

現在:與激活

conda install numpy 

安裝NumPy的乾淨。

您可以對Python 3.5執行相同的操作,並在具有source activate的環境之間切換。

+0

感謝mike指出這個conda的東西......但我不想讓它變得更難,最終目標是在Mac上運行PYGAME - 我差不多完成了。除了pygame需要numpy .. – ERJAN

+0

我不認爲這會讓它更難。 'conda'讓我的生活變得如此簡單。根據您的互聯網連接,安裝Miniconda,然後NumPy和pygame不應超過2或3分鐘。 –

+0

毫米,我知道它有點太苛刻,但如果它太棒了,你可以製作YouTube教程嗎?使用miniconda完全安裝pygame? – ERJAN

1

難道是你有多個版本的python安裝?

$ /System/Library/Frameworks/Python.framework/Versions/2.7/bin/python2 

,而不是僅僅python2:如果你使用這樣的完整路徑運行python會發生什麼?

+0

我確實有python3.5 – ERJAN

+0

我刪除了python3.5 – ERJAN

-1

從一個stackoverflow答案跳轉到另一個答案後,我找到了解決方案!

我的問題是: numpy在不同的位置(實際上在右邊,預期的位置)。它是查找它自己的默認文件夾python2.7安裝的IDLE。

我檢查我的numpy的工作就是這樣,運行此腳本來檢查它是否工作:

import os 
import sys 
import pygame 
sys.path.insert(0, '/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python') 
import numpy 
pygame.init() 
print "(using __version__): " + numpy.__version__ 
print numpy.version.version 
user_paths = os.environ['PYTHONPATH'] 
print(user_paths) 

sys.path中插入增加IDLE其他路徑,因此它知道在哪裏尋找numpy的。 然後我檢查numpy是否真正導入 - 我只是打印它的版本。現在它是1.8.0rc。

我想找到一種避免一直使用此syspath插入的方法。 到目前爲止這麼好 - 現在。

1

你的問題是不同Python版本的衝突。

我會建議安裝Python和所有的軟件包,例如numpy的,SciPy的,matplotlib,熊貓等通過Brew

請參見本教程:https://github.com/Homebrew/homebrew/blob/master/share/doc/homebrew/Homebrew-and-Python.md

您可以驗證它的Python你與運行終端中的which pythonwhich python3

這個解決方案比我使用Conda/Miniconda更靈活,更清潔。不過它的安裝時間也比較冗長,因爲你需要安裝Xcode,devtools來構建所有東西