"ModuleNotFoundError: No module named 'kivymd'" in .spec file

"ModuleNotFoundError: No module named 'kivymd'" in .spec file

我已经在我的 Python 项目中安装了 pip install kivymd。我的项目中也有 kivymd 目录。 我正在使用 Mac。 我创建了一个名为“coinsnack4.spec”的规范文件,包括以下代码:

from kivymd import hooks_path as kivymd_hooks_path

但是,当我尝试使用以下命令将 python 项目与规格文件打包时:

pyinstaller -y --clean --windowed coinsnack4.spec

我收到以下错误:

  File "coinsnack4.spec", line 3, in <module>
    from kivymd import hooks_path as kivymd_hooks_path
ModuleNotFoundError: No module named 'kivymd'

我真的不知道为什么会这样,因为我已经 pip install kivymd。我不知道下一步该怎么做,如果有人能帮我解决这个错误,我将不胜感激。

非常感谢!

您为什么会遇到这个问题?

这背后的原因是 python 中的虚拟环境概念。每个虚拟环境都相互独立。您可以使用不同的虚拟环境,根据您的项目要求激活和停用它们。

我建议你看一遍这个文档Python venv

当您从本地终端执行 `pip install 时,它会将软件包安装到默认的 python 环境和终端本身(而不是 pycharm 终端)如果你尝试执行 python 程序,它会工作正常,但一旦你切换到 pycharm 或任何其他 IDE,它就有自己的 python 环境设置并且该环境不知道其他 python 环境中发生的事情。所以你还需要在这里安装 pip 包,以便执行相同的 python 程序。

解决方法:-

我建议的第一件事是在 pycharm 使用的虚拟环境中安装软件包。为此,请单击 pycharm window 栏下方的 Terminal 图标。然后执行 运行 下面的命令:-

python3 -m pip install kivymd

如果这不起作用,请尝试在 pycharm 中配置 python 环境。

以下是如何在 pycharm 中更改或更新 python 解释器:-

设置现有的 Python 解释器

您可以随时使用 Python 解释器选择器或在项目 Settings/Preferences.

中切换您的 Python 解释器

正在创建一个新的 Python 解释器

为当前项目添加一个新的解释器:

如果您有 conda 环境,请按照以下步骤操作:-

或者,如果您想设置一个新的虚拟环境,请执行以下操作:-