【问题标题】:Failed to run EXE generated by PyInstaller when I change EXE name当我更改 EXE 名称时,无法运行 PyInstaller 生成的 EXE
【发布时间】:2021-08-19 12:17:56
【问题描述】:

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

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

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

【问题讨论】:

  • 根据对错误的快速检查,问题似乎与 pyinstaller 输出有关。您是否能够发布源代码库以便可以在本地尝试?没有它,就没有太多可以解决的问题,因为有很多可能性,谢谢!

标签: python pyinstaller


【解决方案1】:

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

python pyinstaller.py --name=studio

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

摘自codewarrior0的cmets:

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

【讨论】:

    猜你喜欢
    • 2016-06-28
    • 2023-04-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-08
    • 2019-03-14
    • 2021-02-25
    • 2022-07-19
    相关资源
    最近更新 更多