我在OSX Snow Leopard上,我在脚本中运行2.7并且解释器似乎在运行2.6
在我能够导入numpy之前然后我会在尝试导入matplotlib时遇到错误,所以我去找一个解决方案并更新了我的PYTHONPATH变量,但我认为我做错了,现在简单地搞砸了一切。
这是我在我的脚本中尝试导入numpy时得到的结果:
追踪(最近一次通话): 文件“./hh_main.py”,第5行,in 导入numpy 文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site->packages/numpy/init.py”,第137行, import add_newdocs 文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site->packages/numpy/add_newdocs.py”,第9行,in 来自numpy.lib导入add_newdoc 文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site->packages/numpy/lib/init.py”,第4行,in 来自type_check import * 文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site->packages/numpy/lib/type_check.py”,第8行,in 将numpy.core.numeric导入为_nx 文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site->packages/numpy/core/init.py”,第5行,在 导入多阵列 ImportError:dlopen(/ Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site->packages/numpy/core/multiarray.so,2):找不到符号:_PyCapsule_Import 参考自:/ Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site->packages/numpy/core/multiarray.so 预计在:平面命名空间 in /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site->packages/numpy/core/multiarray.so
此外,这是我从解释器中的sys.path获得的内容:
['','/ Users / joshuaschneier / Documents / python_files','/ Library / Frame /Python.framework / Version / 7.7 / lib / python2.7 / site-package','/ Library / Frameworks / Python .framework / Versions / 2.7 / lib / python27.zip','/ Library / Frame /Python.framework / Version / 1.7 / lib / python2.7','/ Library / Frameworks / Cluster.framework / Version / 2.7 / lib /python2.7/plat-darwin','/ Library / Frame /Python.framework / Version / 7.7 / lib / python2.7 / plat-mac','/ Library / Frame / Pepy.framework / Version / 2.7 / lib /python2.7/plat-mac/lib-scriptpackages','/ Library / Frame /Python.framework / Version / 7.7 / lib / python2.7 / lib-tk','/ Library / Frame /Python.framework / Version /2.7/lib/python2.7/lib-old','/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload']
这是我的PYTHONPATH,我想我更新了错误:
:/库/框架/ Python.framework /版本/ 2.7 / LIB / python2.7 /站点包/
感谢您的帮助。
答案 0 :(得分:1)
你通常需要为你使用的每个版本的python安装一次numpy,matplotlib等,因为它会将自己安装到特定的'python2.x / site-packages'目录。
以上输出是从2.6或2.7会话生成的吗?如果它是2.6会话,则是,将PYTHONPATH指向2.7将无法工作 - numpy包括已编译的C代码(例如multiarray.so文件),它将针对特定版本的python构建。
如果您不想维护两套软件包,我建议为版本2.7安装numpy,matplotlib等,删除PYTHONPATH设置,并确保脚本和解释器会话都使用2.7版本。
如果你想保留这两个版本,你只需要安装两次包(你可能仍然想要撤消你的PTYHONPATH更改)