.spec 文件中的“ModuleNotFoundError:没有名为 'kivymd' 的模块”
Posted
技术标签:
【中文标题】.spec 文件中的“ModuleNotFoundError:没有名为 \'kivymd\' 的模块”【英文标题】:"ModuleNotFoundError: No module named 'kivymd'" in .spec file.spec 文件中的“ModuleNotFoundError:没有名为 'kivymd' 的模块” 【发布时间】:2021-08-23 15:02:06 【问题描述】:我已经在我的 Python 项目中安装了 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。我不知道下一步该怎么做,如果有人能帮助我解决这个错误,我将不胜感激。
非常感谢!
【问题讨论】:
您使用的是哪个 IDE。 IDE 必须使用与终端上使用的不同的 Python 解释器 嗨!我正在使用 Pycharm。 如果你使用不同的python解释器,你能检查一下pycharm设置吗 我正在使用 virtualvenv 解释器,但我的终端似乎正在使用 anaconda。 请在终端上激活 virtualenv 并安装 kivymd 或更改您的 pycharm 设置以指向您的终端默认使用的解释器 【参考方案1】:您为什么会遇到这个问题?
这背后的原因是python中虚拟环境的概念。每个虚拟环境相互独立。您可以使用不同的虚拟环境,根据您的项目要求激活和停用它们。
我建议你看一遍这个文档Python venv
当您从本地终端执行 `pip install
解决办法:-
我建议的第一件事是将软件包安装在 pycharm 正在使用的虚拟环境中。为此,请单击 pycharm 窗口下方栏的 Terminal
图标。然后运行以下命令:-
python3 -m pip install kivymd
如果这样不行,尝试在pycharm中配置python环境。
以下是如何在 pycharm 中更改或更新 Python 解释器:-
设置现有的 Python 解释器
您可以随时使用 Python 解释器选择器或在项目设置/首选项中切换您的 Python 解释器。
创建一个新的 Python 解释器
要向当前项目添加新的解释器:
如果您有 conda 环境,请按照以下步骤操作:-
或者,如果您想设置一个新的虚拟环境,请执行以下操作:-
【讨论】:
以上是关于.spec 文件中的“ModuleNotFoundError:没有名为 'kivymd' 的模块”的主要内容,如果未能解决你的问题,请参考以下文章
微服务:docker.compose 文件中的 ESHOP_OCELOT_VOLUME_SPEC 行是啥意思
《Buildozer打包实战指南》第六节 buildozer.spec配置文件中的其他参数