如何用PyInstaller打包MVC架构的PyQt6字幕提取程序
解决PyInstaller打包PyQt6程序的TypeError问题及打包命令
问题原因
TypeError 'bytes' object cannot be interpreted as an integer错误多因PyInstaller版本与Python 3.10、PyQt6不兼容导致,先升级PyInstaller到最新稳定版:
pip install --upgrade pyinstaller
适配项目的打包命令
针对你的项目结构,需将assets目录下的UI文件、配置、图标等资源一同打包,以下是各平台的具体命令:
Windows平台
pyinstaller --onefile --windowed --add-data "assets;assets" --name Subtitler view.pyw
--onefile:打包为单个可执行文件--windowed:隐藏控制台窗口(适配GUI程序)--add-data "assets;assets":将本地assets目录完整复制到打包后的程序目录中(Windows用分号分隔路径)--name Subtitler:指定生成的可执行文件名称
macOS平台
pyinstaller --onefile --windowed --add-data "assets:assets" --name Subtitler view.pyw
- macOS下
--add-data参数用冒号分隔源路径与目标路径
Linux平台
pyinstaller --onefile --windowed --add-data "assets:assets" --name Subtitler view.pyw
- Linux平台同样使用冒号分隔
--add-data的路径参数
额外注意事项
- 若升级PyInstaller后仍报错,可尝试添加
--exclude-module PyQt6.QtWebEngineCore参数,部分PyQt6版本的WebEngine模块可能引发兼容问题 - 建议在虚拟环境中执行打包操作,避免全局依赖冲突,确保
requirements.txt内的依赖已全部安装
内容的提问来源于stack exchange,提问作者Parfait_D
相关产品推荐
相关产品推荐

