更改EXE名称后运行PyInstaller生成的EXE文件失败

3

我无法将exe名称更改为除主要名称之外的其他名称,也就是说,只有当exe的名称为"main"时,才能正常工作,exe名称存在任何依赖关系吗?我的项目名为"studio",我在输出目录中生成studio.exe,但我无法运行exe,并显示以下错误信息:

ValueError: non-hexadecimal number found in fromhex() arg at position 17

当我把名称更改为“main”时,我就没有出现上述错误。尝试了许多方法后,我仍然不知道原因,有没有人或许有好的想法?谢谢


问题似乎与快速检查错误的pyinstaller输出相关。您能否发布一个源代码库,以便可以在本地尝试解决?如果没有这个,由于有很多可能性,将无法进行故障排除,谢谢! - Kieran Wood
1个回答

6
使用-n/--name选项来指定运行pyinstaller时可执行文件的名称,而不是之后再重命名可执行文件:
python pyinstaller.py --name=studio

您可以参考下面的讨论,深入分析此问题: https://github.com/pyinstaller/pyinstaller/issues/1106 以下是codewarrior0评论中的摘录:
引导程序使用其exe的文件名来派生要使用CreateActCtx加载的清单文件的文件名,从而导致上述错误。当onefile exe被重命名时,应用程序清单未找到导致错误发生。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接