我在使用 python 上的模块时遇到问题。这是我的路径变量,
/opt/local/bin /opt/local/sbin /Developer/usr/bin /usr/local/git/bin /usr/X11/bin /Users/oskarniburski/.rvm/bin /usr/X11R6/bin /Library/Frameworks/Python.framework/Versions/3.3/bin /Library/Frameworks/Python.framework/Versions/2.7/bin /Library/Frameworks/Python.framework/Versions/Current/bin /usr/bin /bin /usr/sbin /sbin /usr/local/bin /usr/local/git/bin /usr/X11/bin /Users/oskarniburski/.rvm/bin
正如所见,它经历了 3.3 和 2.7,因此它是否应该在 python 中找不到 numpy 模块?如果没有 numpy 模块,我无法进行欧拉积分,所以我很好奇解决方案是什么。我尝试使用 pip install numpy 重新安装 numpy ,但它没有解决我的问题(因为 numpy 模块已经在 python2.7 框架中。)因此我不确定为什么它无法找到 numpy 模块。有什么帮助吗?
我最初得到的错误是
ImportError: No module named numpy
现在,经过一些更改后,我收到错误:
$ python eulerintegration.py
Traceback (most recent call last):
File "eulerintegration.py", line 1, in <module>
import numpy as np
File "/Library/Frameworks/Python.framework/Versions/7.3/lib/python2.7/site-packages/numpy/__init__.py", line 137, in <module>
import add_newdocs
File "/Library/Frameworks/Python.framework/Versions/7.3/lib/python2.7/site-packages/numpy/add_newdocs.py", line 9, in <module>
from numpy.lib import add_newdoc
File "/Library/Frameworks/Python.framework/Versions/7.3/lib/python2.7/site-packages/numpy/lib/__init__.py", line 4, in <module>
from type_check import *
File "/Library/Frameworks/Python.framework/Versions/7.3/lib/python2.7/site-packages/numpy/lib/type_check.py", line 8, in <module>
import numpy.core.numeric as _nx
File "/Library/Frameworks/Python.framework/Versions/7.3/lib/python2.7/site-packages/numpy/core/__init__.py", line 5, in <module>
import multiarray
ImportError: dlopen(/Library/Frameworks/Python.framework/Versions/7.3/lib/python2.7/site-packages/numpy/core/multiarray.so, 2): no suitable image found. Did find:
/Library/Frameworks/Python.framework/Versions/7.3/lib/python2.7/site-packages/numpy/core/multiarray.so: mach-o, but wrong architecture
答案1
numpy
您需要环境变量中的路径PYTHONPATH
,而不是PATH
.另外,看看站点模块文档找出 python 通常在哪里搜索其模块并在distutils 页面了解扩展模块的正常安装及其位置。
numpy 的位置取决于您的 Linux 发行版:例如,在 Debian 7 中,我将 numpy 安装在 中/usr/lib/pyshared/python2.6/numpy/...
,但您可能将其安装在 或/usr/local/lib/python2.7/site-packages
中/usr/lib/python2.7/site-packages
。至于site-packages
和的区别dist-packages
请看这。/usr/local/..
用于由系统管理员手动安装的程序,包括使用 来安装的程序pip
,而/usr/..
用于通过发行版的包管理器安装的程序,例如apt
Debian 或yum
Red Hat。