Anaconda 为什么康达';s删除与conda'不对称的内容;安装什么?

Anaconda 为什么康达';s删除与conda'不对称的内容;安装什么?,anaconda,conda,Anaconda,Conda,为什么看似简单的/atomicconda安装会导致相当复杂的卸载 我最近尝试了以下conda安装 $ conda install -c conda-forge imageio-ffmpeg Collecting package metadata (current_repodata.json): done Solving environment: done ==> WARNING: A newer version of conda exists. <== current ve

为什么看似简单的/atomic
conda
安装会导致相当复杂的卸载

我最近尝试了以下
conda安装

$ conda install -c conda-forge imageio-ffmpeg 
Collecting package metadata (current_repodata.json): done
Solving environment: done


==> WARNING: A newer version of conda exists. <==
  current version: 4.7.12
  latest version: 4.8.1

Please update conda by running

    $ conda update -n base -c defaults conda



## Package Plan ##

  environment location: /home/smgutstein/anaconda2/envs/dnn_py3

  added / updated specs:
    - imageio-ffmpeg


The following packages will be downloaded:

    package                    |            build
    ---------------------------|-----------------
    imageio-ffmpeg-0.3.0       |             py_0          14 KB  conda-forge
    ------------------------------------------------------------
                                           Total:          14 KB

The following NEW packages will be INSTALLED:

  imageio-ffmpeg     conda-forge/noarch::imageio-ffmpeg-0.3.0-py_0


Proceed ([y]/n)? y


Downloading and Extracting Packages
imageio-ffmpeg-0.3.0 | 14 KB     | ################################################################################################################ | 100% 
Preparing transaction: done
Verifying transaction: done
Executing transaction: done
我使用
conda
,安装了
imageio-ffmpeg
,但仍然收到了相同的错误。当我在谷歌上搜索我的错误时,我找到了一个解决问题的建议

sudo pip3 install imageio==2.4.1
因此,现在我想确保我的
conda
安装不会取代我计划的
pip3
安装。

在安装部分,Conda使用隐式的
--freeze installed
标志运行,如果所有软件包都已经存在,那么它就是一个简单的安装

在卸载中,Conda没有等效的简单卸载。相反,它将尝试删除请求的包,以及其他包未显式安装或要求的任何依赖项。不幸的是,它似乎通过尝试解决一个只包含先前请求的env包的环境来实现这一点,这意味着所有具有替代版本的包都会被更新

您从不同的渠道(例如,conda forge)安装,但从未在您的conda配置(全球或环境)中明确定义这些渠道优先级,这一事实似乎加剧了您的特殊情况。因此,大多数更改涉及切换回包的默认版本

选择 如果您确信没有其他更改,则可以使用
--force remove
标志

如果这是您安装的最新版本,另一种选择是尝试版本回滚,但这也可能导致剧烈的更改。也就是说,检查您的修订历史记录:

conda list --revisions
然后尝试安装倒数第二个。我肯定会先进行试运行:

conda install --revision <your_rev> --dry-run
conda安装--修订版--试运行
皮普 不要使用Pip,除非您绝对必须使用,并且绝对不要在您的基础中使用。通常,将Pip与Conda一起使用会导致不稳定(请参阅)。此外,如果必须使用它,请不要使用
sudo
pip3
。相反,激活env并简单地使用
pip安装

一般性(自以为是的)建议 就我个人而言,我发现使用Conda最稳定的方法是将所有环境视为不可变的。也就是说,避免使用
conda(安装|更新|删除|卸载)
命令。唯一的例外是首次指定新项目时

无论何时您希望编辑您的环境,都可以编写一个YAML文件并使用它来创建一个新的环境(
conda env create-f my_env.yml
),而不是临时安装和删除包。如果需要向环境添加新包,请编辑YAML并从头开始重新创建环境

conda list --revisions
conda install --revision <your_rev> --dry-run