python - Numpy 因 python-dbg( undefined symbol : Py_InitModule4_64)

标签 python ubuntu numpy

在 64 位 Ubuntu 12.04 上使用 Python 2.7.3 和 Numpy 1.6.2。系统上存在其他版本(Python 2.6.4 和 Numpy 1.6.1),但据我所知,这些版本对下述事件没有影响。

我正在开发一个使用 Numpy 的 Python 程序,当我尝试从该程序运行某个命令时遇到错误。所以,我决定安装 python2.7-dbg 来运行程序,看看是否有助于调试。所以我跑

$ python-dbg <command>

代替

$ python <command>

但是,这会给出与 numpy 相关的“ undefined symbol :Py_InitModule4_64”错误。我尝试运行什么并不重要;如果使用“常规”python 运行成功的命令,也会发生该错误。即使我尝试将 numpy 导入空白的 python-dbg 提示符,它也会发生:

$ python-dbg
Python 2.7.3 (default, Aug  1 2012, 04:55:00)
[GCC 4.6.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import numpy
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python2.7/dist-packages/numpy/__init__.py", line 137, in <module>
    import add_newdocs
  File "/usr/local/lib/python2.7/dist-packages/numpy/add_newdocs.py", line 9, in <module>
    from numpy.lib import add_newdoc
  File "/usr/local/lib/python2.7/dist-packages/numpy/lib/__init__.py", line 4, in <module>
    from type_check import *
  File "/usr/local/lib/python2.7/dist-packages/numpy/lib/type_check.py", line 8, in <module>
    import numpy.core.numeric as _nx
  File "/usr/local/lib/python2.7/dist-packages/numpy/core/__init__.py", line 5, in <module>
    import multiarray
ImportError: /usr/local/lib/python2.7/dist-packages/numpy/core/multiarray.so: undefined symbol: Py_InitModule4_64
[134187 refs]
>>>

在纯 python 提示符下导入 numpy 成功。

我一直没能在 Internet 上找到信息。与我的错误最接近的匹配项是 this bug on debian这是完全相同的情况,但在提供任何进一步信息之前已关闭。我已经从 APT 安装了 python-numpy-dbg 和 python-apt-dbg 包;我对机器有 sudo 访问权限,所以我所做的更改在系统范围内有效。据我所知,没有为我尝试运行的任何进程设置 chroot 选项,因此 Debian 错误页面对我没有帮助。

如有任何帮助,我们将不胜感激。

最佳答案

正如 OP 所确认的,这里的线索在回溯中,它显示您正在导入的 numpy/usr/local/lib/ 中。但是,通过 apt 安装的包进入 /usr/lib/pythonX.Y,其中使用 pipeasy_install 安装的非 Ubuntu Python 包等安装在 /usr/local/lib/pythonX.Y 下并取代系统包。

现在你应该卸载你在 /usr/local/lib/python2.7/dist-packages 下安装的 Numpy,以便 python-numpy 安装的那个可以工作。将来你可能可以同时安装并使用 usercustomize.py 来在它们之间切换,但我现在不在 Ubuntu 机器上所以我无法测试它.

关于python - Numpy 因 python-dbg( undefined symbol : Py_InitModule4_64),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13587136/

相关文章:

python - 一次遍历 Python 字典 N 项以进行 CSV 写入

python - 将最佳拟合及其方程放入绘图中

python - 如何分配属于不同人群的不确定性?

python - 对象成员的 Cython 缓冲区声明

python - 提高加权移动平均过滤函数的运行时间?

python - 如何在pandas数据框中按字母剪切和分组

python - Emacs 无法创建与 raw.github.com 的连接(未找到 gzip)

python - 如何在 Python 中使用多处理时解决 BrokenPipeError

sql-server - FreeTDS:用户登录失败

linux - 如何使 apt-get 忽略 ca-certificate 问题 - 无法安装 gstreamer 开发库