kingmo888
V2EX  ›  问与答

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

  •  
  •   kingmo888 · Aug 22, 2018 · 3995 views
    This topic created in 2847 days ago, the information mentioned may be changed or developed.

    大佬好,

    最近刚尝试用 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 replies    2018-08-23 19:59:39 +08:00
    kingmo888
        1
    kingmo888  
    OP
       Aug 22, 2018
    ![]( )
    nicevar
        2
    nicevar  
       Aug 22, 2018
    手动复制一下下面这些文件试试
    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  
       Aug 22, 2018
    搭车问个问题,最近在学 PySide2 请问为什么要把 UI 转成 py 不是用 qml 更好吗?
    kingmo888
        4
    kingmo888  
    OP
       Aug 22, 2018
    @Lycnir 更多的是教程是 ui 转 Py 的吧。另外就是感觉 py 更友好?
    @nicevar 谢谢。这个方法尝试了,不行。艰难阅读了相关的英文 doc,感觉可能是__file__问题,然后找到一种临时性的解决方案,但是方法太土了。http://www.lizenghai.com/archives/887.html
    Lycnir
        5
    Lycnir  
       Aug 23, 2018
    @kingmo888 对,qmltopy
    fool079
        6
    fool079  
       Aug 23, 2018
    pyinstall 打包 pyqt 就是各种坑。。
    这个问题按照 @nicevar 的方法应该是可以解决的
    推荐你看一下从 qt 根目录下复制来的文件放的位置是不是有问题。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   978 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 35ms · UTC 22:25 · PVG 06:25 · LAX 15:25 · JFK 18:25
    ♥ Do have faith in what you're doing.