首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >创建PyQt6 Project可执行

创建PyQt6 Project可执行
EN

Stack Overflow用户
提问于 2021-02-19 23:13:40
回答 1查看 2.4K关注 0票数 1

我使用Qtpython 3.8中使用PyQt6编写了一个项目。当我通过python运行python文件时,没有问题。当我试图将项目转换为可执行文件时,它会失败。我面临着很多问题,我解决了这些问题,就像在谷歌上一样。不过,我找不到解决爱情失败的办法。

此应用程序无法启动,因为无法初始化QT平台插件。重新安装应用程序可能会解决此问题。

我使用auto-py-to-exe创建可执行的belove命令

代码语言:javascript
复制
pyinstaller --noconfirm --onedir --windowed --icon "D:/WorkSpace/Projects/MouseReplayer/output/icon/icon2.ico" --name "Auto Test Repeater" --add-data "D:/WorkSpace/Projects/MouseReplayer/ScreenCopy;ScreenCopy/"
--add-data "D:/WorkSpace/Projects/MouseReplayer/ui;ui/" --paths "C:/Users/26010693/AppData/Local/Programs/Python/Python38/Lib/site-packages/PyQt6/Qt/bin"
--hidden-import "PyQt6.sip"  "D:/WorkSpace/Projects/MouseReplayer/ui_main.py"

我试着重新安装,但没有工作。实际上,这个问题在PyQt5中很常见,根据Youtube的说法,有一个简单的解决方案可以修复它(Youtube解决方案):将平台文件夹(PyQt5\Qt\plugins\platforms)复制到Pyqt5-tools文件夹中,所有这些都在Python\Python38\Lib\site-packages中。然而,在Pyqt6-tools中没有site-packages文件夹,在互联网上也没有安装指南。

我需要帮助解决它,或者找到另一种方法来创建兼容于PyQt6的可执行文件。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-02-20 00:52:37

Python\Python38\Lib\site-packages\PyQt5\Qt\plugins\platforms中的dll文件直接复制到可执行的输出文件夹中是解决了这一问题。我最近的pyinstaller命令:

代码语言:javascript
复制
pyinstaller --noconfirm --onedir --windowed --icon "D:/WorkSpace/Projects/MouseReplayer/output/icon2.ico" --name "Auto Test Player" --add-data "D:/WorkSpace/Projects/MouseReplayer/ScreenCopy;ScreenCopy/" --add-data "D:/WorkSpace/Projects/MouseReplayer/ui;ui/" --paths "C:/Users/26010693/AppData/Local/Programs/Python/Python38/Lib/site-packages/PyQt6/Qt/bin" --hidden-import "PyQt6.sip" --hidden-import "PyQt6.QtPrintSupport" --add-data "C:/Users/26010693/AppData/Local/Programs/Python/Python38/Lib/site-packages/PyQt6/Qt/plugins/platforms;platforms/"  "D:/WorkSpace/Projects/MouseReplayer/ui_main.py"

要解决的关键问题是:

代码语言:javascript
复制
--add-data "C:/Users/26010693/AppData/Local/Programs/Python/Python38/Lib/site-packages/PyQt6/Qt/plugins/platforms;platforms/" 

此外,为了防止另一个问题的发生,下面的内容也是:

代码语言:javascript
复制
--hidden-import "PyQt6.sip"

也许这一点也很重要:

代码语言:javascript
复制
--hidden-import "PyQt6.QtPrintSupport"
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66286229

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档