Conda 未识别 Pip 包
Pip Package not being recognized in Conda
我有一个 Conda 环境,我在其中通过 pip(在环境中)安装了 KivyMD 包。
在一个 PyCharm 项目中,我从 KivyMD 文档中复制了示例代码。这个项目有我的 conda 环境作为解释器。解释器可以完美地处理这个(其他文件,使用其他包)和其他项目。但是当我尝试 运行 使用这个包的文件时,我总是遇到错误。
示例中的代码,我正在尝试 运行 (https://kivymd.readthedocs.io/en/latest/getting-started.html):
from kivymd.app import MDApp
from kivymd.uix.label import MDLabel
class MainApp(MDApp):
def build(self):
return MDLabel(text="Hello, World", halign="center")
MainApp().run()
“错误:
ModuleNotFoundError:没有名为 'kivymd.app' 的模块; 'kivymd' 不是包
我已经尝试卸载并重新安装它,但遇到了同样的问题。该包在环境的“conda 列表”和 PyCharm 包面板中均正确显示。
Conda 使用的 Python 和 Pip 都位于环境文件夹内的文件夹中(使用“where”命令检查)。我正在使用 Windows 并再次检查我是否拥有最新的 Anaconda 版本。
我已经尝试 运行直接在命令行上(在 PyCharm 之外)打开文件,但也遇到了同样的问题。
我该如何解决这个问题?
首先我假设你使用的是python 3.8
其次,您是否首先按照此处的说明安装了 kivy:https://kivy.org/doc/stable/installation/installation-windows.html
我在 windows 上通过 conda 命令行完成了此操作,您可以通过常用方法或直接从 conda 导航器访问它。确保通过 运行ning
检查你想要 运行ning 的环境是否处于活动状态
conda info --envs
如果这 return 什么都没有,那么 conda 不工作,这应该 return 看起来像这样的东西,但每个环境名称后都有文件路径。
表示活动环境,因此如果您想要的环境不活动,请使用它来激活它:
conda 激活 envname
如果没有返回并在命令行中从您的 conda env 中执行此操作
然后 运行 在你的 conda env 中安装 kivyMD:
git clone https://github.com/kivymd/KivyMD.git --depth 1
cd KivyMD
pip install .
如果您没有错误消息,请尝试编译您的代码以使其达到 运行,我建议您留在 env 激活的命令行中执行此操作。
我只能通过以下步骤让它工作:
- (可能没有必要)在 Conda 中创建一个新环境
- 从 conda forge 安装 Kivy(conda 安装)
- 再次使用 pip 安装 Kivy(pip install)
- 使用 pip 安装 KivyMD(pip 安装)
- (可能没有必要)在 PyCharm
中创建了一个新项目
- 将新环境设置为解释器
存在一些冲突,Conda 无法识别 运行 项目的 pip 包(并且仅 运行)。显然它是通过两次安装所需的 Kivy 包来解决的,既作为 conda 又作为 pip 包。看来,至少在我的情况下,有必要“桥接”这两个安装,尽管我不知道为什么。
我有一个 Conda 环境,我在其中通过 pip(在环境中)安装了 KivyMD 包。
在一个 PyCharm 项目中,我从 KivyMD 文档中复制了示例代码。这个项目有我的 conda 环境作为解释器。解释器可以完美地处理这个(其他文件,使用其他包)和其他项目。但是当我尝试 运行 使用这个包的文件时,我总是遇到错误。
示例中的代码,我正在尝试 运行 (https://kivymd.readthedocs.io/en/latest/getting-started.html):
from kivymd.app import MDApp
from kivymd.uix.label import MDLabel
class MainApp(MDApp):
def build(self):
return MDLabel(text="Hello, World", halign="center")
MainApp().run()
“错误: ModuleNotFoundError:没有名为 'kivymd.app' 的模块; 'kivymd' 不是包
我已经尝试卸载并重新安装它,但遇到了同样的问题。该包在环境的“conda 列表”和 PyCharm 包面板中均正确显示。 Conda 使用的 Python 和 Pip 都位于环境文件夹内的文件夹中(使用“where”命令检查)。我正在使用 Windows 并再次检查我是否拥有最新的 Anaconda 版本。
我已经尝试 运行直接在命令行上(在 PyCharm 之外)打开文件,但也遇到了同样的问题。
我该如何解决这个问题?
首先我假设你使用的是python 3.8
其次,您是否首先按照此处的说明安装了 kivy:https://kivy.org/doc/stable/installation/installation-windows.html
我在 windows 上通过 conda 命令行完成了此操作,您可以通过常用方法或直接从 conda 导航器访问它。确保通过 运行ning
检查你想要 运行ning 的环境是否处于活动状态conda info --envs
如果这 return 什么都没有,那么 conda 不工作,这应该 return 看起来像这样的东西,但每个环境名称后都有文件路径。
表示活动环境,因此如果您想要的环境不活动,请使用它来激活它:
conda 激活 envname
如果没有返回并在命令行中从您的 conda env 中执行此操作 然后 运行 在你的 conda env 中安装 kivyMD:
git clone https://github.com/kivymd/KivyMD.git --depth 1
cd KivyMD
pip install .
如果您没有错误消息,请尝试编译您的代码以使其达到 运行,我建议您留在 env 激活的命令行中执行此操作。
我只能通过以下步骤让它工作:
- (可能没有必要)在 Conda 中创建一个新环境
- 从 conda forge 安装 Kivy(conda 安装)
- 再次使用 pip 安装 Kivy(pip install)
- 使用 pip 安装 KivyMD(pip 安装)
- (可能没有必要)在 PyCharm 中创建了一个新项目
- 将新环境设置为解释器
存在一些冲突,Conda 无法识别 运行 项目的 pip 包(并且仅 运行)。显然它是通过两次安装所需的 Kivy 包来解决的,既作为 conda 又作为 pip 包。看来,至少在我的情况下,有必要“桥接”这两个安装,尽管我不知道为什么。