簡體   English   中英

Numpy失敗了python-dbg(未定義的符號:Py_InitModule4_64)

[英]Numpy fails with python-dbg (undefined symbol: Py_InitModule4_64)

在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提供一個“未定義的符號: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成功。

我沒有在互聯網上找到信息的運氣。 與我的錯誤最接近的是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安裝的Numpy能夠工作。 將來你可以安裝和使用usercustomize.py在它們之間進行切換,但我現在不在Ubuntu機器上,所以我無法測試它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM