创建 PyQt6 Python 项目可执行文件

问题描述 投票:0回答:2

我使用

Qt
python 3.8
中编写了一个
PyQt6
项目。当我通过python运行python文件时,没有问题。当我尝试将项目转换为可执行文件时,它失败了。我遇到了很多问题,通过谷歌搜索解决了它们。但是我找不到亲爱的失败的解决方案。

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

我使用

auto-py-to-exe
通过belove命令创建可执行文件

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

兼容的可执行文件
python pyqt pyinstaller executable pyqt6
2个回答
1
投票

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

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"

要解决的关键问题是:

--add-data "C:/Users/26010693/AppData/Local/Programs/Python/Python38/Lib/site-packages/PyQt6/Qt/plugins/platforms;platforms/" 

下面一行是为了防止另一个问题:

--hidden-import "PyQt6.sip"

也许这个也很重要:

--hidden-import "PyQt6.QtPrintSupport"

0
投票

您的应用程序文件夹中是否使用了 .venv?

© www.soinside.com 2019 - 2024. All rights reserved.