我有一个 python 模块,它导入一个用 swig 生成的模块。当我稍后在该模块中尝试调用 matplotlib 的 show() 函数时,python 在没有任何提示的情况下崩溃,出了什么问题。当我用 swig 生成的模块注释 import 语句时,一切正常。有没有人知道这种行为的原因可能是什么?我知道这是一个非常不具体的问题表述。但是,我不指望能解决我的问题,只是提示我可以在哪里找到问题。谢谢。
问问题
3727 次
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
我怀疑您调用的是 figure.show 而不是 plt.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 回答