【问题标题】:Pip Package not being recognized in Conda在 Conda 中无法识别 Pip 包
【发布时间】:2021-02-12 00:41:18
【问题描述】:

我有一个 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 之外),但也遇到了同样的问题。

我该如何解决这个问题?

【问题讨论】:

  • 在安装或运行代码之前,您是否在终端中激活了codna环境?
  • 是的。如前所述,使用此环境作为解释器运行其他项目没有问题。
  • 你的系统中安装了kivy框架吗?
  • 常规的 kivy 包,是的。我已经使用同一个解释器成功运行了几个 kivy 项目。
  • 尝试通过为项目创建特定的新环境来执行相同的整个过程

标签: python pip pycharm anaconda conda


【解决方案1】:

首先我假设您使用的是 python 3.8

其次,您是否先按照此处的说明安装了 kivy:https://kivy.org/doc/stable/installation/installation-windows.html

我是从 Windows 上的 conda 命令行执行此操作的,您可以通过常用方法或直接从 conda 导航器访问该命令行。确保通过运行检查要在其中运行它的环境是否处于活动状态

conda info --envs

如果这不返回任何内容,则 conda 不工作,这应该返回类似这样的内容,但每个环境名称后面都有文件路径。

  • 表示活动环境,因此如果您想要的环境不活动,请使用它来激活它:

    conda 激活环境名称

如果不返回并在命令行的 conda env 中执行此操作 然后在你的 conda env 中运行以下命令来安装 kivyMD:

    git clone https://github.com/kivymd/KivyMD.git --depth 1
    cd KivyMD
    pip install .

如果您没有错误消息,请尝试编译您的代码以使其运行,我建议您留在 env 激活的命令行中执行此操作。

【讨论】:

  • 环境已激活,Kivy 已安装。我运行一个常规的 Kivy 项目没有任何问题。
  • 我尝试了上面的命令,但 Conda 无法识别 git 命令。我想它是直接将存储库安装在环境 lib 文件夹中,我之前使用“pip install url”命令执行过(所以我的环境库中有 2 个文件夹:kivymd 和 kivymd-0.104.2.dev0.dist-信息)。我不知道康达如何区分它们,也不知道它是否如此。当您说 env 激活命令行时,您的意思是 Conda 终端?如果是这样,我一直……
  • 确保您在 conda 终端中执行此操作。
【解决方案2】:

我只能通过以下步骤使其工作:

  • (也许没有必要)在 Conda 中创建一个新环境
  • 从 conda forge 安装 Kivy (conda install)
  • 再次使用 pip (pip install) 安装 Kivy
  • 使用 pip 安装 KivyMD (pip install)
  • (也许没有必要)在 PyCharm 中创建了一个新项目
  • 将新环境设置为解释器

存在一些冲突,即 Conda 无法识别 pip 包来运行项目(并且只能运行)。显然,它是通过两次安装所需的 Kivy 包来解决的,包括 conda 和 pip 包。看来,至少在我的情况下,有必要“桥接”这两个安装,尽管我不知道为什么。

【讨论】:

    猜你喜欢
    • 2016-06-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-14
    • 2015-07-03
    • 1970-01-01
    • 2015-05-17
    • 1970-01-01
    • 2021-11-23
    相关资源
    最近更新 更多