繁体   English   中英

pyinstaller --onedir 和 auto-py-to-exe 的问题

[英]Issue with pyinstaller --onedir and auto-py-to-exe

我正在开发一个 GUI 应用程序,我希望将我的 python 代码转换为一个可执行文件。

该程序在作为 .py 文件运行时没有任何问题。 但是,当我尝试使用 pyinstaller --onedir 将其转换为 .exe 时,它​​编译我的程序没有任何错误,但是当我双击 .exe 时,它​​不起作用。 控制台会暂时打开并立即关闭。 没有错误,但也没有 GUI 窗口。

即使我改用 auto-py-to-exe,同样的问题仍然存在。 我被困在这里,希望得到任何帮助。 谢谢你。

编辑:我没有双击 .exe,而是尝试从 cmd 运行它,错误可以追溯到我的虚拟环境的站点包中的 markdown 文件夹。

    exec(bytecode, module.__dict__)
  File "lib\site-packages\markdown\htmlparser.py", line 30, in <module>
  File "<frozen importlib._bootstrap>", line 580, in module_from_spec
AttributeError: 'NoneType' object has no attribute 'loader'
[8788] Failed to execute script app

htmlparser.py 文件中的这部分内容如下:

spec = importlib.util.find_spec('html.parser')
htmlparser = importlib.util.module_from_spec(spec)
spec.loader.exec_module(htmlparser)
sys.modules['htmlparser'] = htmlparser

注意:我有(Python==3.7.9,Pyinstaller==3.6,auto-py-to-exe==2.7.8)。 我在这里发现了一个类似的问题但没有任何令人满意的答复。

在脚本和所有导入的模块上运行 pylint。

我刚刚遇到了同样的问题,这是因为我对导入的模块进行了更改,从而破坏了模块(例如语法错误)。 它没有报告导入错误,而是说“无法执行脚本应用程序”。 技术上正确,但具有误导性。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM