python - 在窗口模式下使用 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
没有任何帮助!
解决方案
我意识到该--hidden-import="pkg_resource.py2_warn"
命令确实解决了这个问题。我只是有一个拼写错误。
推荐阅读
- laravel - 如何在 Laravel 中使用 Laravel Excel 设置导出 csv 的编码
- html - 如何使所有div的高度相等?
- html - 为什么推荐主图使用 16:9 的比例?
- javascript - 如何使用胖箭头 es6 语法重写此嵌套调用以设置?
- racket - 向球拍中的类添加类型注释
- python - BeautifulSoup 网页抓取,用于点击按钮后获取信息的网页
- flutter - 如何将文本文件加载到 Flutter 中的字符串变量中
- c# - 修改 ListView 项目时自动调整 ListView 高度
- python - Tkinter 窗口和 pygame 窗口同时打开
- reactjs - 如何更改 Material-UI Button 的 tabIndex?