当我更改 EXE 名称时,无法运行 PyInstaller 生成的 EXE

Ele*_*hie 3 python pyinstaller

我在将 exe 名称更改为除 main 之外的其他名称时遇到问题,也就是说,EXE 仅当其名称为“main”时才能正常工作,与 exe 名称有任何依赖性吗?我的项目名为“studio”,我在输出目录中生成 studio.exe,但我无法运行 exe,错误如下:控制台上的输出:

ValueError: non-hexadecimal number found in fromhex() arg at position 17
Run Code Online (Sandbox Code Playgroud)

当我将名称更改为“main”时,上面没有出现此类错误。尝试了很多方法后我无法弄清楚为什么,有人可能有好主意吗?谢谢

blh*_*ing 8

运行 pyinstaller 时使用-n/--name选项指定可执行文件的名称,而不是事后重命名可执行文件:

python pyinstaller.py --name=studio
Run Code Online (Sandbox Code Playgroud)

您可以参考下面的讨论来深入分析该问题: https: //github.com/pyinstaller/pyinstaller/issues/1106

摘自 codewarrior0 的评论:

上述错误是由引导加载程序使用其 exe 的文件名来派生要使用 CreateActCtx 加载的清单的文件名引起的。出现此错误的原因是重命名 onefile exe 时找不到应用程序清单。