首页 > 解决方案 > 在窗口模式下使用 pyinstaller 编译时“无法执行脚本 pyi_rth_pkgres”

问题描述

我有一个用 python3 编写的模块。当我用 pip 安装它时,我可以启动我的 GUI。现在我尝试在 WINdows 10 上使用 pyinstaller(3.6) 创建一个已编译的可执行文件。

我编译的脚本文件(run.py)如下所示:

import chatwolf

root = chatwolf.GUI()
root.mainloop()

我用于编译的 Powershell 命令如下所示:

pyinstaller --add-data="README.md;." --add-data="LICENSE.txt;." 
--add-data="doc/pdf/chatwolf.pdf;doc" --add-data="chatwolf/data/messages;data/messages" 
--add-data="chatwolf/data/conf_root.json;data/" --add-data="chatwolf/data/icon.png;data/" 
--name="Chatwolf" --icon=install/icon.ico --onefile --clean --windowed --noconfirm run.py

如果我在没有参数 --windowed 的情况下进行编译,我可以从控制台启动我的可执行文件但是如果我添加此选项,我总是会收到错误消息“无法执行脚本 pyi_rth_pkgres”

有谁知道如何克服这个错误?

通过搜索我已经得到,这是对 pkg_resource 模型所做的。

我试过: - 更改我的模块代码,所以我不在我的 chatwolf 模块中使用 pkg_resource 模块。- 添加了 --hidden-import="pkg_resource.py2_warn" - 更新了 pyinstaller 和 pkg_resource

没有任何帮助!

标签: pythonpyinstallerexecutable

解决方案


我意识到该--hidden-import="pkg_resource.py2_warn"命令确实解决了这个问题。我只是有一个拼写错误。


推荐阅读