Pyinstaller 的“执行脚本 pyi_rth_pkgres 失败”和缺少的软件包。

2024-05-23 15:14:22 发布

您现在位置:Python中文网/ 问答频道 /正文

这是我第一次在这里发帖,因为我的大部分问题已经被别人回答了!我正在使用python开发一个GUI应用程序,并试图使用pyinstaller将其打包到单个文件夹和.exe中,以便于移植。目前,我正在使用windows 10和anaconda3来管理我的python包。该应用程序依赖于tkinter、枕头、numpy、scikit learn、opencv、ffmpeg和matplotlib。应用程序使用一个主GUI.py文件格式化,该文件创建许多其他文件的对象(其中许多文件存储在子文件夹中,因为此GUI正在替换用于相同目的的命令行实用程序)。我遇到的问题(如标题中所示)是.exe正在抛出错误块:

Traceback (most recent call last): File "site-packages\PyInstaller\loader\rthooks\pyi_rth_pkgres.py", line 11, in File "c:\users\gurnben\anaconda3\envs\opencv\lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 389, in load_module exec(bytecode, module.dict) File "site-packages\setuptools-20.7.0-py3.5.egg\pkg_resources__init__.py", line 68, in File "site-packages\setuptools-20.7.0-py3.5.egg\pkg_resources\extern__init__.py", line 60, in load_module ImportError: The 'packaging' package is required; normally this is bundled with this package so if you get this warning, consult the packager of your distribution. Failed to execute script pyi_rth_pkgres

当我查看warn.txt时,它给出了大量丢失的包的列表,其中包括一些实际位于单个文件夹包中的包的一部分。
但是,我已经成功地让它识别出opencv中的dll文件,并且它没有列在丢失的文件中(ffmpeg也没有,但是我在文件夹中没有看到任何ffmpeg文件)。我必须传入一个自定义路径以使其包含opencv文件,因为它们此时不在anaconda中。

对于下一步的故障排除步骤有什么提示或想法吗?我非常感谢你提供的所有帮助,我可以上传任何代码,文件等,这将帮助你诊断问题。同时我会继续寻找解决办法!


Tags: 文件inpy文件夹应用程序packageslinesite
1条回答
网友
1楼 · 发布于 2024-05-23 15:14:22

我也有同样的问题。通过使用开发人员的分支版本重新安装pyinstaller来解决此问题,方法如下:https://github.com/pyinstaller/pyinstaller/issues/2137

步骤如下:

  • 删除PyInstallerpip uninstall pyinstaller
  • github下载zip。
  • 解压缩文件。
  • 确保您在带有“setup.py”的目录中并运行:python setup.py install

相关问题 更多 >