能够在最小化安装的Centos8显示matplotlib图片
#centos8服务端安装Xterm终端模拟器
yum install xterm
# 在客户端Xstart建立连接,在命令那一块输入
/usr/bin/xterm -ls -display $DISPLAY
yum install PyQt5
python test.py # test.py见下文
测试程序test.py:
import numpy as np
import matplotlib as plt
import matplotlib
matplotlib.use('Qt5Agg') # 必需
x = np.arange(1,20,2)
y = np.arange(1,20,2)
plt.plot(x, y,'bo')
plt.show()
若报错:
qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found. This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.
则在终端输入:
export QT_DEBUG_PLUGINS=1
python test.py
接下来会显示详细报错
(libxcb-icccm.so.4: cannot open shared object file: No such file or directory)"
qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.
Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, xcb.
Aborted (core dumped)
网上说可以缺什么安什么,事实不太可行,比如这个libxcb-icccm.so.4
便无法安装。
解决办法
sudo dnf install http://mirror.centos.org/centos/8/AppStream/x86_64/os/Packages/xcb-util-wm-0.4.1-12.el8.x86_64.rpm
sudo dnf install http://mirror.centos.org/centos/8/AppStream/x86_64/os/Packages/xcb-util-image-0.4.0-9.el8.x86_64.rpm
sudo dnf install http://mirror.centos.org/centos/8/AppStream/x86_64/os/Packages/xcb-util-keysyms-0.4.0-7.el8.x86_64.rpm
sudo dnf install http://mirror.centos.org/centos/8/AppStream/x86_64/os/Packages/xcb-util-renderutil-0.3.9-10.el8.x86_64.rpm
参考链接:
https://forum.qt.io/topic/122538/centos-8-qt-dependancy-install-issue/3
此时:
python test.py
可以正常运行。