64 ビットの Ubuntu 12.04 で Numpy 1.6.2 で Python 2.7.3 を使用する。システムには追加のバージョン (Python 2.6.4 および Numpy 1.6.1) が存在しますが、私の知る限り、これらは以下に説明するイベントに影響を与えません。
Numpy を使用する Python プログラムに取り組んでおり、プログラムから特定のコマンドを実行しようとするとエラーが発生します。そこで、python2.7-dbg をインストールしてプログラムを実行し、それがデバッグに役立つかどうかを確認することにしました。だから私は走る
$ python-dbg <command>
それ以外の
$ python <command>
ただし、これにより、numpy に関連する「未定義のシンボル: Py_InitModule4_64」エラーが発生します。何を実行しようとしているかは問題ではありません。「通常の」pythonで実行すると成功するコマンドでもエラーが発生します。空の python-dbg プロンプトに numpy をインポートしようとしても発生します。
$ 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 バグ ページは役に立ちません。
どんな援助でも大歓迎です。