1. 程式人生 > >Django跑python程式碼報錯RuntimeErro main thread is not in main loop

Django跑python程式碼報錯RuntimeErro main thread is not in main loop

查找了很多資料最後發現這個bug是出現在python裡的一個Matplotlib包的呼叫;Threading - Matplotlib - main thread is not in main loop 

這是我裡面的部分程式碼:

'''畫詞雲圖'''
fig = plt.figure(figsize=(15, 15))
cloud = wordcloud.WordCloud(font_path='D:/DjangoPractice/CS/static/txt/STXINGKA.TTF', mask=imread('D:/DjangoPractice/CS/static/txt/water3.png'), mode='RGBA',
                            background_color=None).generate(' '.join(txtcut))
img = imread('D:/DjangoPractice/CS/static/txt/water3.png')
cloud_colors = wordcloud.ImageColorGenerator(np.array(img))
cloud.recolor(color_func=cloud_colors)
plt.imshow(cloud)
plt.axis('off')
plt.savefig('D:/DjangoPractice/CS/static/txt/watercloud3.png', dpi=400)
plt.show()

解決方法:

新增 plt.close()這個程式碼就好了

plt.axis('off')

plt.savefig('D:/DjangoPractice/CS/static/txt/watercloud3.png', dpi=400)

plt.show()

plt.close()