有時我的代碼很快運行並退出(例如:花費2秒鐘),有時會掛起(例如:最長分鐘)*。這種行爲似乎是完全隨機的。在所有地方添加打印語句之後,它似乎一直掛在savefig()
上。關於爲什麼會發生這種情況的任何想法,如何進一步調查,或如何處理?python/matplotlib在savefig上隨機掛起()
當它停止時,Ctr-x
Ctr-c
沒有效果。
當我殺死程序(使用Ctrl-\
)時,它通常會說'Python在使用_macosx.so插件時意外退出'---我認爲這是一個matplotlib後端,所以也許這就是問題發生的地方?
謝謝。
*發生這種情況時,沒有其他程序/任務正在運行。傍晚觀看htop
內存和CPU使用率都不高。
我在OS X上運行的Python 2.7.2 10.8.4
原理我的代碼:
from matplotlib import pyplot as plt
fig = plt.figure(figsize=fig_size)
fig.subplots_adjust(left=subplot_position[0], right=subplot_position[1])
ax1 = fig.add_subplot(111)
# Do lots of stuff ....
fig_name = GetFigureName(fig_num, figure_output_filename) # some string
fig.savefig(fig_name, dpi=resolution_factor*fig.get_dpi()) # resolution_factor ~ 1.0
您是否試圖在遠程磁盤上寫入文件?或者你接近完整磁盤(在OSX上可能存在'df',不確定)?嘗試寫入不同的位置(理想情況是在不同的磁盤上)。 – Bonlenfum
@Bonlenfum它在我的本地磁盤上(有400 GB的可用空間),沒有其他任何寫入。我應該嘗試寫入外部HD嗎? – DilithiumMatrix
你傳遞給savefig()的參數是什麼?它至少需要2 .. –