请教 pyinstaller 打包 PyQt5/PySide2 打包时遇到的问题。(由 pyside2 引起)

2018-08-22 16:58:22 +08:00
 kingmo888

大佬好,

最近刚尝试用 PyQt5 tools 的设计器来设计一个简单的 GUI 界面,通过 PySide2 将 ui 转换为 py 文件后,写了简单代码执行时,提示如下错误:

qt.qpa.plugin: Could not find the Qt platform plugin "windows"

经自行搜索,找到解决办法:

在脚本头部加入:

dirname = os.path.dirname(PySide2.file)

plugin_path = os.path.join(dirname, 'plugins', 'platforms')

os.environ['QT_QPA_PLATFORM_PLUGIN_PATH'] = plugin_path

脚本执行层面问题得到解决。

现在想通过 pyinstaller 打包一下,结果打包后出现上述相同的错误信息。而且看打包的文件中包含了 pyqt5 的 platforms,我猜测应该是打包时,并没有指定 pyside2 的 platforms,由于能力有限,不知道应该如何解决这个问题,请问大佬们有了解这个的吗?

感谢百忙之中点开帖子。

更感谢百忙之中的回复。

谢谢。

3499 次点击
所在节点    问与答
6 条回复
kingmo888
2018-08-22 17:28:45 +08:00
![]( )
nicevar
2018-08-22 18:21:54 +08:00
手动复制一下下面这些文件试试
Qt5Widgets.dll
Qt5Gui.dll
Qt5Core.dll
libwinpthread-1.dll
libstdc++-6.dll
libgcc_s_dw2-1.dll
platforms/qwindows.dll
styles/qwindowsvistastyle.dll //win10 需要
不行的话尝试一下
libGLESv2.dll 和 libEGL.dll
Lycnir
2018-08-22 19:21:54 +08:00
搭车问个问题,最近在学 PySide2 请问为什么要把 UI 转成 py 不是用 qml 更好吗?
kingmo888
2018-08-22 22:47:49 +08:00
@Lycnir 更多的是教程是 ui 转 Py 的吧。另外就是感觉 py 更友好?
@nicevar 谢谢。这个方法尝试了,不行。艰难阅读了相关的英文 doc,感觉可能是__file__问题,然后找到一种临时性的解决方案,但是方法太土了。http://www.lizenghai.com/archives/887.html
Lycnir
2018-08-23 08:42:53 +08:00
@kingmo888 对,qmltopy
fool079
2018-08-23 19:59:39 +08:00
pyinstall 打包 pyqt 就是各种坑。。
这个问题按照 @nicevar 的方法应该是可以解决的
推荐你看一下从 qt 根目录下复制来的文件放的位置是不是有问题。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/482232

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX