2016-12-16 63 views
0

我最近升級到OSX塞拉利昂,現在我不能在Python導入任何軟件包。當我運行在Python控制檯(我使用Pycharm)的標準import numpy我得到Python模塊,但不會導入

Traceback (most recent call last): 
    File "<input>", line 1, in <module> 
    File "/Applications/PyCharm CE.app/Contents/helpers/pydev/pydev_import_hook.py", line 21, in do_import 
    module = self._system_import(name, *args, **kwargs) 
ImportError: No module named numpy 

我認爲這個問題的時候,從我重新安裝了端口,當我的MacPorts遷移,按說明書here到來。我很確定在我升級到Sierra之後,所有的東西都在Python中工作,但是一旦我做到了這一點,就會崩潰。

我首先想到的是要重新安裝numpy的,但是當我去命令行和運行pip install numpy,我得到

Requirement already satisfied: numpy in /System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python. 

但是,運行which numpy變成了什麼都沒有,這似乎不可思議,因爲它只是告訴我那numpy的安裝,我可以在我的電腦上找到它,如果我使用easyfind。由於它可能是相關的,which python給我/opt/local/bin/python

我已經試過a fewdifferent修復,但一直沒能得到任何工作至今。我有一種感覺,我錯過了一些非常基本的東西,但無法弄清楚它是什麼。我在mac 10.12.1上運行python 2.7.12。

+0

首先要排除:您是否嘗試過做在python進口PyCharm之外?第二件事是檢查'sys.path'應該包含'/ System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python'或者至少與它有直接關係。 –

+1

'numpy'將不起作用,因爲numpy不是OS的可執行文件,所以它不知道它在找什麼。 – wpercy

+0

我嘗試在命令行輸入'python',然後從那裏導入,嘗試導入numpy。它沒有拋出任何錯誤,但是一旦我回去檢查,它似乎沒有在控制檯中工作。在另一方面,幾乎所有的我的路徑是的''一些變化/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/distribute-0.6.14- py2.7.egg''。和in一樣,它們都以'/ opt/local'開頭,而不是'/ System'開頭。這可能是問題嗎? – macinblack

回答

1

在我PyCharm我使用虛擬環境。正如您所建議的那樣,升級到Sierra可能會刪除Python端口,因此您的虛擬環境可能也需要重新創建。

+0

我不認爲我一直在使用任何虛擬環境;我絕對沒有故意創建一個。有沒有可能我的Pycharm默認使用了一個,我不知道? – macinblack

+0

@macinblack不,它不,但你應該。 –

0

不完全解決原來的問題,但我沒弄清楚如何解決它。我剛剛安裝了python 3.3(通過macports)並將其設置爲我的電腦的默認python,然後重新安裝了Pycharm(儘管我可能只是將設置恢復爲默認值)。一切似乎現在工作,在蟒蛇3.3,雖然我不得不使用點數爲python3.3 -m pip install而不是標準pip install

+0

如果你設置了一個虛擬環境,你不需要指定你的python版本。轉到設置>項目>項目翻譯>點擊齒輪圖標>創建VirtualEnv。 –

+0

現在我已經在python 3.3下順利運行了,是否有使用virtualenv的理由?目前/未來項目有哪些優勢? – macinblack

+0

Virtualenvs允許您在不影響項目環境的情況下更新和升級您的全球環境(包括Python版本)。如果您需要移動應用或將其安裝在其他地方,它也會使您的需求列表保持整潔。我無法列出您當前項目的優勢,因爲我對其當前狀態一無所知。但是,對於未來的項目,它會避免像這樣的問題,因爲OS更新不會影響虛擬環境。 –