[英]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.