2

swigで生成されたモジュールをインポートするPythonモジュールがあります。そのモジュールの後半でmatplotlibのshow()関数を呼び出そうとすると、何が問題になったのか、Pythonがヒントなしでクラッシュします。swigで生成されたモジュールを削除してimportステートメントをコメント化すると、すべてが正常に機能します。誰かがこの行動の理由が何であるかについての手がかりを持っていますか?私はこれが問題の非常に非特異的な定式化であることを知っています。しかし、私は自分の問題の解決策を期待していません。問題を見つけるためにどこを見ればよいかについてのヒントにすぎません。ありがとう。

4

2 に答える 2

1

まず、gdbでスクリプトを実行し、スタックトレースを確認します。gdbの最近のバージョンには、Pythonデバッグのサポートが組み込まれています。

$ gdb python
(gdb) run /path/to/script.py
# wait for crash #
(gdb) bt
# stack trace here #

詳細はこちら

于 2010-03-17T19:42:53.000 に答える
1

plt.show()の代わりにfigure.showを呼び出していると思います

次のスクリプトがクラッシュします。

import matplotlib.pyplot as plt

fig = plt.figure()
ax = fig.add_subplot(111)

ax.plot([25, 43, 65], [3500, 5500, 5800])

fig.show() # use plt.show() instead

このスクリプトは正常に機能しています。

import matplotlib.pyplot as plt

fig = plt.figure()
ax = fig.add_subplot(111)

ax.plot([25, 43, 65], [3500, 5500, 5800])

plt.show()
于 2013-01-19T19:48:44.143 に答える