【问题标题】:ImportError: : Symbol not found: __PyErr_ReplaceExceptionImportError: : 未找到符号:__PyErr_ReplaceException
【发布时间】:2015-09-15 09:38:14
【问题描述】:

我使用 homebrew install 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 numpy homebrew


【解决方案1】:

尝试将您的 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。

【讨论】:

    猜你喜欢
    • 2018-02-05
    • 2015-11-16
    • 1970-01-01
    • 2018-02-24
    • 1970-01-01
    • 1970-01-01
    • 2022-05-27
    • 1970-01-01
    • 2013-01-09
    相关资源
    最近更新 更多