求教一个 Python pyinstaller 的问题。。。

2022-05-05 19:34:26 +08:00
 BashDas
python ver:3.10
安装有:pyside6

pyinstaller 的 spec 文件为:
[code]
# -*- mode: python ; coding: utf-8 -*-


block_cipher = None


a = Analysis(
['run_delivery.py'],
pathex=['D:\\Soft\\Python3\\Lib'],
binaries=[],
datas=[],
hiddenimports=[],
hookspath=[],
hooksconfig={},
runtime_hooks=[],
excludes=[],
win_no_prefer_redirects=False,
win_private_assemblies=False,
cipher=block_cipher,
noarchive=False,
)
pyz = PYZ(a.pure, a.zipped_data, cipher=block_cipher)

exe = EXE(
pyz,
a.scripts,
a.binaries,
a.zipfiles,
a.datas,
[],
name='run_delivery',
debug=False,
bootloader_ignore_signals=False,
strip=False,
upx=True,
upx_exclude=[],
runtime_tmpdir=None,
console=False,
disable_windowed_traceback=False,
argv_emulation=False,
target_arch=None,
codesign_identity=None,
entitlements_file=None,
version='src\\file_version_info.txt',
icon='src\\AppICO.ico',
)
[/code]

在 Windows11 下打包为单文件(文件夹也尝试过),然后去 Windows 8.1 / Windows server 2012 R2 上运行,报错为:
[img]https://s3.bmp.ovh/imgs/2022/05/05/0aaf9a798789f461.png[/img]

我尝试将 plugins 目录 copy 到运行目录,貌似没啥用,包括增加系统 path 也没啥用。

求教诸位大神,如何解决这个问题呢?。。。
2462 次点击
所在节点    Python
10 条回复
BashDas
2022-05-05 19:50:09 +08:00
哪位大神熟悉的,麻烦支个招吧。
coderluan
2022-05-05 20:03:32 +08:00
插件你得用 qt 带的 windeployqt 工具进行复制,自己复制可能会拉下一些资源文件的。

https://doc.qt.io/qtforpython/deployment-pyinstaller.html
debuggerx
2022-05-05 20:04:12 +08:00
可以试试在你的 Windows 8.1 / Windows server 2012 R2 上打包,然后尝试在 Windows11 下运行……
ysc3839
2022-05-05 20:07:44 +08:00
需要具体错误才能知道是什么问题,看看有没有 debug mode 之类的选项,让它显示具体错误信息
BashDas
2022-05-05 20:21:22 +08:00
@coderluan 好的,我试试。
BashDas
2022-05-05 20:21:38 +08:00
@debuggerx 没用的,我试过。
louiswong2099
2022-05-05 23:02:53 +08:00
建议使用 nuitka ,能避免很多问题,也支持很多插件。例如 pyqt5 等等,编译成单一文件或者文件夹发布
louiswong2099
2022-05-05 23:05:40 +08:00
@BashDas
一条命令,全部搞定所有打包,运行库,各种奇怪的依赖都给你自动化
nuitka.bat --onefile --windows-disable-console --standalone --mingw64 --follow-imports --plugin-enable=qt-plugins main.py
BashDas
2022-05-06 22:44:43 +08:00
@louiswong2099 尝试过,因为我是 pyside6 ,打包出来后,没有任何反应。
BashDas
2022-05-07 22:58:50 +08:00
尝试了 3.9 和 pyqt5 ,pyinstaller 就没问题了,应该是 pyqt6 不支持 win10 以下的系统吧。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/851019

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX