“以下软件包将被更高优先级的频道取代”是啥意思?

Posted

技术标签:

【中文标题】“以下软件包将被更高优先级的频道取代”是啥意思?【英文标题】:What does "the following packages will be superseded by a higher priority channel" mean?“以下软件包将被更高优先级的频道取代”是什么意思? 【发布时间】:2017-05-18 14:41:16 【问题描述】:

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

我通过写作在 anaconda 中搜索模糊 wuzzy:

anaconda search -t fuzzywuzzy

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

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

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)

【问题讨论】:

它告诉你:你已经安装了来自默认频道的 conda 4.2.13 版本。 conda-forge 频道提供相同的版本。由于您为 conda-forge 通道提供了更高的优先级,因此 conda 将从 conda-forge 切换到包,即使它是相同的版本而不是更新。 感谢您的评论。你说:“既然你给了 conda-forge 频道更高的优先级” - 我在哪里做的?当我尝试从 conda-forge 安装时? @cel 您的评论将是一个很好的答案! @EmilVikström 是否建议将默认频道转移到 conda-forge?它是否提供了默认 conda 通道不提供的东西?如果我只想安装一个包,为什么它会自动尝试更改频道? @Chuck 我今天无法重现这种行为。 fuzzywuzzy=0.13.0 似乎在 conda-forge 上不存在。您能否使用重现问题所需的步骤更新您的问题,最好包括更新版本的conda 以增加问题的相关性。 【参考方案1】:

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

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

这会导致一些非常可疑的错误,并且为了避免这些 conda 更喜欢从与新包相同的通道安装依赖项。这就是消息的含义,一个包被相同的包替换,但来自不同的频道,您使用-c conda-forge 给予了更高的优先级。

【讨论】:

以上是关于“以下软件包将被更高优先级的频道取代”是啥意思?的主要内容,如果未能解决你的问题,请参考以下文章

sap系统软关帐是啥意思?软关帐后还能做账吗?

错误代码500是啥意思

磁盘扇区、IO块、inode、文件、目录、硬链接与软链接到底是啥?

interface是啥意思

win2000是啥意思

英文名fedora是啥意思