Python“ModuleNotFoundError:没有名为“绑定”的模块”错误

问题描述 投票:0回答:2

我可以在普通的 Python IDLE 和 Visual Studio Code 上运行我的代码,但使用相同 Python 安装的 pyinstaller 编译的可执行文件会出现此错误:

Traceback (most recent call last):
  File "MyApp.py", line 40, in <module>
  File "PyInstaller\loader\pyimod03_importers.py", line 540, in exec_module
  File "tkinterweb\__init__.py", line 30, in <module>
ModuleNotFoundError: No module named 'bindings'
[4712] Failed to execute script MyApp

我已经通过

bindings
安装了
pip
模块。

我也在第 40 行被导入了

from tkinterweb import HtmlFrame
。我能做什么?请帮助我。

python pyinstaller
2个回答
4
投票

我认为这个问题已经在 Github 上得到了解答,但我会在这里为遇到此问题并在将来某个时候偶然发现此页面的任何人添加答案。

  1. 升级到 TkinterWeb 和 PyInstaller 的最新版本。如果您不是最新版本,它将无法工作。
  2. 然后在捆绑您的应用程序时使用
    --collect-all tkinterweb
    标志。例如,如果您使用
    pyinstaller --windowed yourscript.py
    而不是运行
    pyinstaller --windowed --collect-all tkinterweb yourscript.py
    。这告诉 PyInstaller 包含 TkinterWeb 文件。在许多流行的软件包中,这个
    --collect-all
    命令不是必需的,因为 PyInstaller 有额外的文件(称为钩子)告诉它遇到某些软件包时要做什么。 PyInstaller 没有附带 TkinterWeb 挂钩,因此您只需告诉它手动包含必要的 TkinterWeb 文件即可。

仅此而已!


0
投票

如果你有 auto-py-to-exe 你需要这样做

auto-py-to-exe

© www.soinside.com 2019 - 2024. All rights reserved.