2015-11-05 56 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