2015-11-05 69 views
0

我已經使用brew安裝了python27和python35以及一系列軟件包(pip,numpy,scipy等)。我在我的終端中運行python,並導入每個包的工作。然而,在我使用網站中的包來獲得閒置(非石英依賴的包)之後,我安裝了python 2.7和3.5之後,每當我嘗試導入閒置或終端中的python shell時,我都會收到以下錯誤:PYTHON Path問題

>>> import numpy 
Traceback (most recent call last): 
File "<stdin>", line 1, in <module> 
ImportError: No module named numpy 

我的.bash_profile看起來是這樣的:

`Setting PATH for Python 2.7 
# The orginal version is saved in .bash_profile.pysave 
PATH="/Library/Frameworks/Python.framework/Versions/2.7/bin:${PATH}" 
export PATH 

# Setting PATH for Python 3.5 
# The orginal version is saved in .bash_profile.pysave 
PATH="/Library/Frameworks/Python.framework/Versions/3.5/bin:${PATH}" 
export PATH 

export CLICOLOR=1 
export LSCOLORS=GxFxCxDxBxegedabagaced 

export PATH="$HOME/.rbenv/bin:$PATH" 
eval "$(rbenv init -)"` 

「的蟒蛇」 給了我這樣的: /Library/Frameworks/Python.framework/Versions/2.7/bin/python

當我運行「端口安裝」我收到所有米y包,這意味着一切都在那裏,但路徑都是不正確的。我應該如何繼續?

+0

是什麼'打印sys.path'打印烏爾蟒蛇提示?我也沒有看到任何提到的PYTHONPATH變量。你知道python使用PYTHONPATH搜索模塊而不是PATH,對嗎? – Kashyap

+0

「echo $ PYTHONPATH」總是返回一個空字符串,即使事情正常工作。如果出現這種情況,我應該根據上面提供的鏈接將其導出到PYTHONPATH中以使其正常工作? – Theo95

+0

是的。還有什麼打印sys.path在你的python提示符上打印? – Kashyap

回答

1

總之,您需要正確設置您的PYTHONPATH

這裏有一些可能有所幫助的金塊。

通常「安裝程序」會在python-installation-dir的某個位置的site-packages子目錄下安裝軟件包。這些site-packages默認情況下由python添加到PYTHONPATH中(即使你的PYTHONPATH爲空),除非你調整了python設置。或者安裝者將新安裝的模塊添加到PYTHONPATH中,無論哪種方式,您都不需要執行任何操作。

也有可能在安裝時以某種方式調整了安裝前綴(安裝東西的文件夾)以及numpy等安裝在某個單獨的目錄中。

一些圖書館自行安裝在單獨的/opt/....,在這種情況下,他們將更新用戶或全局的rc腳本/opt/..../lib/...添加到PYTHONPATH

最簡單的方法是找出安裝路徑numpy並更新全局或本地設置文件,使路徑包含在其中。

一些基本知識:Python - PYTHONPATH in linux 當然:https://www.google.com/search?q=set+PYTHONPATH

+0

以供將來參考,python安裝所有模塊的默認路徑位於/ opt/local。因此,一旦我'導出PYTHONPATH =/opt/local'一切都按預期工作。再次感謝您的回覆。 – Theo95