使用 conda 在虚拟环境中更新包

Updating a package in a virtual environment with conda

我正在尝试使用 Anaconda Prompt 命令行在名为 flopyenv 的虚拟环境中更新软件包 flopy。首先,我使用 conda activate flopyenv 激活虚拟环境。然后更新软盘,我试过conda update flopy。我收到以下错误:

PackageNotInstalledError: Package is not installed in prefix.
  prefix: C:\Users\person\Anaconda3\envs\flopyenv
  package name: flopy

这是有道理的,因为软盘目录安装在不同的目录 (C:\Users\person\Anaconda3\envs\flopyenv\lib\site-packages\flopy)。另外,我已经使用 conda list 进行了检查,并且在环境中列出了软盘。我如何将 conda update 指向正确的目录以在虚拟环境中更新软盘?

编辑:根据 merv 的评论,我在下面包含了输出。

(flopyenv) C:\Users\person>conda list -n flopyenv flopy
# packages in environment at C:\Users\person\Anaconda3\envs\flopyenv:
#
# Name                    Version                   Build  Channel
flopy                     3.3.1                    pypi_0    pypi

看起来我使用 pip 来安装软盘而不是 conda,我想这就是为什么当我尝试使用 conda 更新时目录没​​有排队的原因。我能够使用 pip 成功更新软盘包。

似乎 OP 想通了,但值得一提的是,除了使用 pip 进行更新外,启用 pip_interop_enabled 配置选项也可能有效。我只会在每个环境的基础上这样做:

conda activate flopyenv
conda config --env --set pip_interop_enabled true
conda update flopy

但是,这仍然(从 Conda v 4.9 开始)被视为实验性功能,AFAIK。