![](/img/trans.png)
[英]ModuleNotFoundError: No module named 'PyQt5' - Windows PyCharm
[英]Windows forwarding PyQt5 GUI from PyCharm
我使用PyQt5开发了一个简单的GUI,我想使用远程主机部署工具在PyCharm的远程服务器上运行该GUI。 下面提供了用于显示空白窗口的简单GUI的源代码。
import sys
from PyQt5.QtWidgets import QApplication, QWidget
if __name__ == '__main__':
app = QApplication(sys.argv)
w = QWidget()
w.resize(250, 150)
w.move(300, 300)
w.setWindowTitle('Simple')
w.show()
sys.exit(app.exec_())
如果我使用X11转发(-Y)从终端SSH到此主机并运行GUI( python3 myapp.py
),则该程序可以正常工作,并且出现空白窗口,如预期的那样。 但是,如果我从PyCharm(在远程主机上使用相同的Python解释器)运行程序,则会收到以下错误:
qt.qpa.plugin:即使找到Qt平台插件“ xcb”,也无法将其加载到“”中。
此应用程序无法启动,因为无法初始化Qt平台插件。 重新安装该应用程序可能会解决此问题。
可用的平台插件有:eglfs,linuxfb,minimum,minimlegl,offscreen,vnc,wayland-egl,wayland,wayland-xcomposite-egl,wayland-xcomposite-glx,webgl,xcb。
在PyCharm中,我使用在ssh -Y
终端中在上述成功演示中测试过的同一Python解释器在远程主机上运行脚本。 我还在PyCharm中的设置>构建,执行,部署>控制台> Python控制台>环境变量中设置环境变量。 SSH进入远程主机(localhost:10.0)时,我确保DISPLAY环境变量与DISPLAY变量匹配。 我尝试将平台插件更改为推荐的其他插件之一(设置qt_qpa_platform
环境变量),尽管某些平台插件未产生上述错误,但未出现预期的窗口。
我曾看到过类似的文章,但有此错误,但是我认为重新安装pyqt或移动库路径的典型推荐解决方案不适用于这种情况,因为该程序可以在PyCharm外部运行。 我假设PyCharm运行配置环境变量一定存在问题,但是我相信我已经正确设置了所有内容:
DISPLAY=localhost:10.0
PYTHONUNBUFFERED=1
QT_DIR=/usr/lib64/qt-3.3
QTINC=/usr/lib64/qt-3.3/include
QTLIB=/usr/lib64/qt-3.3/lib
在此先感谢您的指导。
我找到了解决自己问题的方法,但这不一定是理想的。 如果使用上述环境变量从PyCharm运行程序, 并且我已从终端使用ssh -Y
连接到远程主机,则GUI窗口将显示无错误。 如果我从终端取消了ssh连接,则将无法从PyCharm执行程序。
目前,此变通办法对我有效,如果以后有人遇到此问题,我想将其发布,但是如果有人可以帮助我了解此变通办法的原因或如何解决此问题,我将不胜感激。必须从终端打开单独的ssh连接。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.