我使用 Homebrew 软件安装 python 2.7.10 并且 usr/local/bin/python
链接到 python 2.7.10。但是当我运行我的 python 代码时,出现如下异常。但是当我使用 IPython import numpy 时,一切顺利。
当我使用命令 which python 它告诉我那是 /usr/local/bin/python
当我使用 whereis python 它告诉我那是 /usr/bin/python
.
Traceback (most recent call last):
File "main.py", line 9, in <module>
import numpy
File "/usr/local/lib/python2.7/site-packages/numpy/__init__.py", line 170, in <module>
from . import add_newdocs
File "/usr/local/lib/python2.7/site-packages/numpy/add_newdocs.py", line 13, in <module>
from numpy.lib import add_newdoc
File "/usr/local/lib/python2.7/site-packages/numpy/lib/__init__.py", line 8, in <module>
from .type_check import *
File "/usr/local/lib/python2.7/site-packages/numpy/lib/type_check.py", line 11, in <module>
import numpy.core.numeric as _nx
File "/usr/local/lib/python2.7/site-packages/numpy/core/__init__.py", line 46, in <module>
from numpy.testing import Tester
File "/usr/local/lib/python2.7/site-packages/numpy/testing/__init__.py", line 13, in <module>
from .utils import *
File "/usr/local/lib/python2.7/site-packages/numpy/testing/utils.py", line 15, in <module>
from tempfile import mkdtemp
File "/usr/local/Cellar/python/2.7.10/Frameworks/Python.framework/Versions/2.7/lib/python2.7/tempfile.py", line 32, in <module>
import io as _io
File "/usr/local/Cellar/python/2.7.10/Frameworks/Python.framework/Versions/2.7/lib/python2.7/io.py", line 51, in <module>
import _io
ImportError: dlopen(/usr/local/Cellar/python/2.7.10/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload/_io.so, 2): Symbol not found: __PyErr_ReplaceException
Referenced from: /usr/local/Cellar/python/2.7.10/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload/_io.so
Expected in: flat namespace
in /usr/local/Cellar/python/2.7.10/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload/_io.so
尝试将 Python 从 2.7.10 降级到 2.7.9,例如:
brew switch python 2.7.9
通过覆盖现有的,因为 2.7.10 似乎存在一些特殊问题。
对于 conda,尝试:conda install python=2.7.9
(按照 this )。
同时仔细检查您的 PYTHONPATH
变量是否未在任何地方被覆盖。
或者考虑改用 Python 3。
我是一名优秀的程序员,十分优秀!