V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
kingmo888
V2EX  ›  问与答

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

  •  
  •   kingmo888 · 2018-08-22 16:58:22 +08:00 · 3480 次点击
    这是一个创建于 2285 天前的主题,其中的信息可能已经有所发展或是发生改变。

    大佬好,

    最近刚尝试用 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,由于能力有限,不知道应该如何解决这个问题,请问大佬们有了解这个的吗?

    感谢百忙之中点开帖子。

    更感谢百忙之中的回复。

    谢谢。

    6 条回复    2018-08-23 19:59:39 +08:00
    kingmo888
        1
    kingmo888  
    OP
       2018-08-22 17:28:45 +08:00
    ![]( )
    nicevar
        2
    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
        3
    Lycnir  
       2018-08-22 19:21:54 +08:00
    搭车问个问题,最近在学 PySide2 请问为什么要把 UI 转成 py 不是用 qml 更好吗?
    kingmo888
        4
    kingmo888  
    OP
       2018-08-22 22:47:49 +08:00
    @Lycnir 更多的是教程是 ui 转 Py 的吧。另外就是感觉 py 更友好?
    @nicevar 谢谢。这个方法尝试了,不行。艰难阅读了相关的英文 doc,感觉可能是__file__问题,然后找到一种临时性的解决方案,但是方法太土了。http://www.lizenghai.com/archives/887.html
    Lycnir
        5
    Lycnir  
       2018-08-23 08:42:53 +08:00
    @kingmo888 对,qmltopy
    fool079
        6
    fool079  
       2018-08-23 19:59:39 +08:00
    pyinstall 打包 pyqt 就是各种坑。。
    这个问题按照 @nicevar 的方法应该是可以解决的
    推荐你看一下从 qt 根目录下复制来的文件放的位置是不是有问题。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2615 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 04:53 · PVG 12:53 · LAX 20:53 · JFK 23:53
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.