我尝试在Fedora上使用matplotlib,但经常收到这样的消息
QSocketNotifier: Can only be used with threads started with QThread
即使有了MWE
import matplotlib.pyplot as plt;
fig = plt.figure();
对于更复杂的脚本,它会抛出分段错误。在Ubuntu上,一切都很好。有人知道这是怎么回事吗?
我尝试在Fedora上使用matplotlib,但经常收到这样的消息
QSocketNotifier: Can only be used with threads started with QThread
即使有了MWE
import matplotlib.pyplot as plt;
fig = plt.figure();
对于更复杂的脚本,它会抛出分段错误。在Ubuntu上,一切都很好。有人知道这是怎么回事吗?
2条答案
按热度按时间a8jjtwal1#
我在Fedora上使用matplotlib时收到了同样的错误,但它仍然工作正常。
/usr/bin/python /home/djohnson/R/Working/foo.py [djohnson@julian Working]$ /usr/bin/python /home/djohnson/R/Working/foo.py QSocketNotifier:只能用于以QThread qt.qpa.wayland启动的线程:Wayland不支持QWindow::requestActivate()
output plot
您是否运行了plt.show()?
6ss1mwsb2#
这是一个警告,告诉你代码试图使用Matplotlib的QT后端绘制一些东西。有更多这样的后端,其中一些是交互式的,一些不是。请参考Matplotlib的各种后端文档。
在非交互式后端(如linux终端)中,函数imshow仍然需要在最后使用show()。Jupyter notebook单元格每次默认调用show(),请从源代码中查看此解释。