基本上刚开始进入Python,并从Matlab逐步切换。
我在导入用于Python脚本的包时遇到问题。
我下载了Anaconda(据我所知,它安装了Python),然后通过终端中的命令行下载了"NumPy"。
我目前使用IDLE作为我的Python文本编辑器,如果我保存.py文件并通过Terminal运行它,例如Python test.py,一切都很好。它找到NumPy库并执行良好:
#!/usr/bin/env python
import numpy as np
array=np.zeros([5,5])
print(array)
[[ 0. 0. 0. 0. 0.]
[ 0. 0. 0. 0. 0.]
[ 0. 0. 0. 0. 0.]
[ 0. 0. 0. 0. 0.]
[ 0. 0. 0. 0. 0.]]
然而,在通过Python3.5激活Pythonshell后,试图通过终端导入numpy,会发生以下情况。
>>> import numpy as np
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/numpy/__init__.py", line 184, in <module>
from . import add_newdocs
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/numpy/add_newdocs.py", line 13, in <module>
from numpy.lib import add_newdoc
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/numpy/lib/__init__.py", line 8, in <module>
from .type_check import *
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/numpy/lib/type_check.py", line 11, in <module>
import numpy.core.numeric as _nx
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/numpy/core/__init__.py", line 14, in <module>
from . import multiarray
ImportError: dlopen(/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/numpy/core/multiarray.cpython-35m-darwin.so, 10): Library not loaded: @loader_path/../../../../libmkl_intel_lp64.dylib
Referenced from: /Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/numpy/core/multiarray.cpython-35m-darwin.so
Reason: image not found
如果我尝试在IDLE中通过Python shell运行脚本,也会出现同样的消息。我认为它在错误的地方查找NumPy库,但我不确定如何纠正这个问题。
运行适用于您的操作系统和版本的图形安装程序,并确保您选择在"Macintosh HD"上安装。您运行的安装程序可能安装在本地库文件夹(/Users/yourusername/Library
)中,但要检查的位置是全局库文件夹/Library/
。
在shell中单击"python"并打开shell配置。在exe中,选择带有"/System/Library/Frameworks/Python.framework/Versions/2.7/bin/pythonw2.7[v2.7.10]"的行,然后单击done并重新启动Python。