在添加numpy时破坏了我的python构建
在尝试给我的Python添加numpy的时候,我搞出了点问题。现在虽然我已经安装了numpy和其他一些包,比如BeautifulSoup,但我却无法在我Mac的默认Python中导入它们。之前我是可以正常导入的。
我应该先从哪里找问题呢?是我的bash配置文件?还是.profile?或者是Python的某个地方?任何帮助都非常感谢。我对安装包和路径变量还很陌生,所以如果能告诉我可能出错的地方就太好了。
编辑
在按照John Keyes的建议打印Python的路径后,结果是这样的:
['','/Library/Python/2.7/site-packages/pip-1.0.2-py2.7.egg',
'/Library/Frameworks/Python.framework/Versions/2.7/lib/python27.zip',
'/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7',
'/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-darwin',
'/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac',
'/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac/lib-scriptpackages',
'/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk',
'/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-old',
'/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload',
'/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages',
'/Library/Python/2.7/site-packages',
'/Library/Python/2.7/site-packages/setuptools-0.6c11-py2.7.egg-info']
这些路径应该包含我安装的包(比如numpy和BeautifulSoup)吗?
编辑 2
这是我的bash配置文件。从我问题下的评论来看,这些可能是问题所在,所以我想把它们放在下面。我要怎么改动它们,才能让我的Python安装包回到正确的位置呢?
export PATH=/usr/local/bin:/usr/local/share/python:/usr/local/sbin:$PATH
# 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
1 个回答
1
根据我的理解,你安装了一个自定义的Python版本,这个版本和你默认的Python安装是不一样的。
你可以选择使用新安装的Python,或者指定numpy模块的路径到默认的Python安装。第二种选择有两种方法:
假设你的numpy模块位于 /Users/Me/python/modules 这个目录下。
通过命令行设置一个环境变量来指向外部模块:
setenv PYTHONPATH /Users/Me/python/modules
如果你想让这个设置对你的用户永久生效,可以把这行代码添加到你的 .bashrc 文件里。
在你的代码中,可以把这个目录添加到你的路径中:
import sys sys.path.append('/Users/Me/python/modules') import numpy ...
希望这对你有帮助。