50

我正在尝试将fuzzywuzzy 安装到我的64 位Linux 中的Anaconda 发行版中。当我这样做时,它会尝试将我的conda, 和更改conda-envconda-forge频道。如下:

我通过以下方式在 anaconda 中搜索模糊 wuzzy:

anaconda search -t fuzzywuzzy

这表明在 64 位 Linux 上可用于 anaconda 的最新版本是频道上提供的 0.13 conda-forge

要安装,在命令行中,我输入:

conda install -c conda-forge fuzzywuzzy=0.13.0

我得到以下输出:

The following packages will be downloaded:

package                    |            build
---------------------------|-----------------
conda-env-2.6.0            |                0         1017 B  conda-forge
python-levenshtein-0.12.0  |           py27_0         138 KB  conda-forge
conda-4.2.13               |           py27_0         375 KB  conda-forge
fuzzywuzzy-0.11.0          |           py27_0          15 KB  conda-forge
------------------------------------------------------------
                                   Total:         528 KB


The following new packages will be INSTALLED:

    fuzzywuzzy:            0.11.0-py27_0 conda-forge
    python-levenshtein:    0.12.0-py27_0 conda-forge

The following packages will be SUPERCEDED by a higher-priority channel:

    conda:        4.2.13-py27_0      --> 4.2.13-py27_0 conda-forge 
    conda-env:    2.6.0-0            --> 2.6.0-0       conda-forge 

Proceed ([y]/n)?

我不明白这是在告诉我什么。

这是什么意思?我是否认为这正在改变我的默认包管理器频道?如果我继续安装它可以逆转吗?有什么方法可以在不更改默认频道的情况下完成安装?或者是我应该做的有利于取代频道的事情?

我不想仅仅为一个模块改变我的发行版,或者引起更多的麻烦。

这个问题:https ://github.com/conda/conda/issues/2898听起来像是在告诉我我应该让它发生。做什么?

(我正在使用 anaconda 版本:4.2.13 和 Python 2.7.12)

4

1 回答 1

26

当您要求 condafuzzywuzzy从 conda-forge 安装时,fuzzywuzzy表示它需要condaconda-env. Conda 检测到您已经安装了这些,但它也知道这些是从默认通道而不是 conda-forge 安装的。

现在,作为用户,您可能希望4.2.13-py27_0在默认通道和 conda-forge 通道中完全相同(并且应该如此),但 conda 不能保证确实如此。开发人员很可能已经将不同的包上传到默认和 conda-forge 频道。

这会导致一些非常可疑的错误,并且为了避免那些 conda 更喜欢从与新包相同的通道安装依赖项。这就是消息所指示的内容,一个包被相同的包替换,但来自不同的频道,您使用-c conda-forge.

于 2017-07-18T10:20:00.937 回答