首页 文章

Pyinstaller“无法执行脚本pyi_rth_pkgres”和丢失的包

提问于
浏览
1

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

Traceback(最近一次调用最后一次):文件“c:\ users \ gurnben \ anaconda3 \ envs \ opencv \ lib \ site-packages”中第11行的文件“site-packages \ PyInstaller \ loader \ rthooks \ pyi_rth_pkgres.py” \ PyInstaller \ loader \ pyimod03_importers.py“,第389行,在load_module exec(bytecode,module.dict)文件”site-packages \ setuptools-20.7.0-py3.5.egg \ pkg_resources__init __ . py“,第68行,in文件“site-packages \ setuptools-20.7.0-py3.5.egg \ pkg_resources \ extern__init __ . py”,第60行,在load_module中ImportError:'packaging'包是必需的;通常,这与此软件包捆绑在一起,因此如果您收到此警告,请咨询您的分发包装商 . 无法执行脚本pyi_rth_pkgres

当我查看warn.txt时,它会提供大量缺失的包,包括实际位于单个文件夹包中的某些包的部分 .
但是,我已经成功地识别了opencv中的dll文件并且它没有列在缺失之中(也不是ffmpeg但是我没有在文件夹中看到任何ffmpeg文件) . 我不得不传入一个自定义路径来包含opencv文件,因为它们目前不在anaconda中 .

下一个故障排除步骤的任何提示或想法?我非常感谢您提供的所有帮助,我可以上传任何有助于您诊断问题的代码,文件等 . 在此期间,我将继续自己寻找解决方案!

1 回答

  • 2

    我有同样的问题 . 通过使用开发人员的分支版本重新安装pyinstaller解决了问题,遵循以下指示:https://github.com/pyinstaller/pyinstaller/issues/2137

    步骤是:

    • 删除PyInstaller pip uninstall pyinstaller .

    • github下载zip .

    • 解压缩文件 .

    • 确保您在"setup.py"的目录中并运行: python setup.py install

相关问题