Python 可执行导入错误

标签 python compilation exe py2exe importerror

我有一个用 wx 和一堆其他库(如 matlabplot、win32api 等)创建的图形用户界面...

我已经使用 py2exe 将 python 代码编译成可执行文件。

可执行文件已创建,但当我尝试运行它时,它会产生错误。

Traceback (most recent call last):
  File "gui.py", line 30, in <module>
  File "zipextimporter.pyc", line 82, in load_module
  File "guiupdater.pyc", line 22, in <module>
  File "zipextimporter.pyc", line 82, in load_module
  File "paramiko\__init__.pyc", line 30, in <module>
  File "zipextimporter.pyc", line 82, in load_module
  File "paramiko\transport.pyc", line 32, in <module>
  File "zipextimporter.pyc", line 82, in load_module
  File "cryptography\hazmat\backends\__init__.pyc", line 7, in <module>
  File "zipextimporter.pyc", line 82, in load_module
  File "pkg_resources\__init__.pyc", line 70, in <module>
  File "pkg_resources\extern\__init__.pyc", line 61, in load_module
ImportError: The 'appdirs' package is required; normally this is bundled with this package so if you get this warning, consult the packager of your distribution.

我之前编译过可执行文件并让它在不同的环境中运行。我现在在一个新环境中,但我安装了所有相同的依赖项等等...

我做了一些快速研究,很多人说将他们的设置工具恢复到 19.2 版本可以为他们修复它,但我不愿意这样做,因为我的设置工具是 28.2 版本。我觉得这样弊大于利...

有谁知道如何解决这个错误?

最佳答案

我有同样的问题,因为我不想回到过去的版本,所以我不得不做一些研究......

问题是在处理 pkg_resources.extern 时,未找到来自(私有(private)?)默认包 pkg_resources._vendor 的所有必要模块(延迟加载)。

比较 pkg_resources._vendor 在源(站点包)和 library.zip 中的内容,这是用可执行文件生成的。 py2exeoptions 可以包含 zip 中缺少的任何内容。

options={"py2exe": {"includes": ["pkg_resources._vendor.appdirs",...], ...

关于Python 可执行导入错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39987577/

相关文章:

c++ - 将 CALLBACK 从 dll 传递到 EXE

c - 为什么我的 exe 文件在 cmd 中可以正常工作,但双击却无法正常工作?

python - MIP 在古罗比启动

python - 检测位于图像opencv侧面的对象

compilation - 如果在 C++ 或 C++/CLI 下以编程方式查找

c++ - 要求程序员多久编写一次 makefile 文件?

r - 如何正确为 r 代码创建 exe

python - yield 与返回的不同结果

python - 使用 Python 将 VBA 代码解析为更小的代码片段

c - 在 C 中,我如何编译然后创建一个带有头文件和两个 c 文件的可执行文件?