在添加numpy时破坏了我的python构建
在试图通过添加numpy来构建python时,我设法在某些地方制造了问题。现在,尽管我已经安装了numpy和其他软件包,比如BeautifulSoup,但我无法从mac的默认python中导入它们。以前我可以导入它们 我应该首先在哪里寻找潜在的问题?我的bash档案。轮廓python中的某个地方?任何帮助都将不胜感激。我对安装程序包和路径变量非常陌生,因此任何关于错误位置的指导都会很有帮助 编辑在添加numpy时破坏了我的python构建,python,path,numpy,Python,Path,Numpy,在试图通过添加numpy来构建python时,我设法在某些地方制造了问题。现在,尽管我已经安装了numpy和其他软件包,比如BeautifulSoup,但我无法从mac的默认python中导入它们。以前我可以导入它们 我应该首先在哪里寻找潜在的问题?我的bash档案。轮廓python中的某个地方?任何帮助都将不胜感激。我对安装程序包和路径变量非常陌生,因此任何关于错误位置的指导都会很有帮助 编辑 遵循John Keyes的建议并打印python的路径后,结果是: ['','/Library/P
遵循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和Beauty soup)
编辑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
据我所知,您已经构建了一个自定义python,它与默认的python安装不同 您应该使用新安装的python,或者指定默认安装的numpy路径。第二种选择有两种方式: 告诉我您的numpy模块位于/Users/Me/python/modules目录
setenv PYTHONPATH /Users/Me/python/modules
要使此内容对用户永久化,可以将此行添加到.bashrc文件中import sys
sys.path.append('/Users/Me/python/modules')
import numpy
...
我希望这会有所帮助。您可以运行
python-c“import sys;print sys.path”
来打印python
找到可用包和模块的每个路径。谢谢,我已经这样做了,并用其中的数据更新了我的问题。现在查看一下/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site packages
,您将看到安装了哪些软件包。如果这是一个愚蠢的问题,请原谅。我如何在这些文件夹中准确地查看我的包在哪里?如果打开我上面提到的一个(站点包
),您应该会看到您在python安装中添加了哪些其他包。您可以通过Finder(打开终端并键入open
)或直接在终端中(cd;ls-l
)执行此操作。我仍然使用苹果提供的默认python。有什么理由我不应该使用默认安装吗?如果我按照你的第一步做,它会让我所有的库都进入那个文件夹吗?那么它们是否都能与我的默认python一起工作呢?可能有一些原因需要构建一个新的python,但在您的情况下,这不是必需的。环境变量PYTHONPATH指向额外的python模块路径,您不应该将所有模块都放在那里。指定路径中的模块将像默认模块一样工作。这很有意义。在命令行上运行此命令之前/之后,是否需要对当前bash配置文件设置执行任何操作?setenv
命令仅在当前会话中有效,如果在某些用户的bash配置文件中添加此命令,它将像任何其他环境变量一样成为永久性的。如果这样做,则不需要每次都运行该命令。