首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >以下包将被更高优先级的通道所取代

以下包将被更高优先级的通道所取代
EN

Stack Overflow用户
提问于 2017-02-03 10:24:27
回答 1查看 11.5K关注 0票数 8

当我尝试更新包时,我总是收到这个消息,我通常只是继续进行,一切都会正常进行。但我担心我意外地创建了一个比我想要的复杂得多的Anaconda环境。这个线程(What does "the following packages will be superseded by a higher priority channel" mean?)提到给予其他通道更高的优先级。如果这就是我所做的,我怎么能撤销它呢?

下面是该消息的一个示例:

代码语言:javascript
运行
复制
conda install -c anaconda flask=0.12
Fetching package metadata .............
Solving package specifications: .

Package plan for installation in environment C:\Users\HMGSYS\Anaconda3:

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

    conda:     4.3.8-py35_0  --> 4.2.13-py35_0 anaconda
    conda-env: 2.6.0-0       --> 2.6.0-0       anaconda

Proceed ([y]/n)?

但是,如果我不指定版本号,它似乎想要降级我的flask版本:

代码语言:javascript
运行
复制
 conda install -c anaconda flask
Fetching package metadata .............
Solving package specifications: .

Package plan for installation in environment C:\Users\HMGSYS\Anaconda3:

The following packages will be UPDATED:

    anaconda:  4.3.0-np111py35_0 --> custom-py35_0 anaconda

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

    conda:     4.3.8-py35_0      --> 4.2.13-py35_0 anaconda
    conda-env: 2.6.0-0           --> 2.6.0-0       anaconda
    flask:     0.12-py35_0       --> 0.11.1-py35_0 anaconda

Proceed ([y]/n)?

但我的主要问题不是关于flask版本,而是问我做了什么才能得到多个通道,以及如何将其简化为一个通道。我已经看到一些建议修改.condarc文件的注释,但我没有注释(这是默认的),所以我不认为这是造成问题的原因。

如果这有帮助,我从conda info得到的输出是:

当前conda安装:

代码语言:javascript
运行
复制
           platform : win-64
      conda version : 4.3.8
   conda is private : False
  conda-env version : 4.3.8
conda-build version : 2.1.3
     python version : 3.5.2.final.0
   requests version : 2.12.4
   root environment : C:\Users\HMGSYS\Anaconda3  (writable)
default environment : C:\Users\HMGSYS\Anaconda3
   envs directories : C:\Users\HMGSYS\Anaconda3\envs
      package cache : C:\Users\HMGSYS\Anaconda3\pkgs
       channel URLs : https://repo.continuum.io/pkgs/free/win-64
                      https://repo.continuum.io/pkgs/free/noarch
                      https://repo.continuum.io/pkgs/r/win-64
                      https://repo.continuum.io/pkgs/r/noarch
                      https://repo.continuum.io/pkgs/pro/win-64
                      https://repo.continuum.io/pkgs/pro/noarch
                      https://repo.continuum.io/pkgs/msys2/win-64
                      https://repo.continuum.io/pkgs/msys2/noarch
        config file : None
       offline mode : False
         user-agent : conda/4.3.8 requests/2.12.4 CPython/3.5.2 Windows/10 Windows/10.0.14393
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-02-03 20:44:24

您正在编写的命令是

代码语言:javascript
运行
复制
conda install -c anaconda flask

conda install告诉Conda安装一个包(很明显),而flask是包的名称。尽管您的.condarc文件中可能没有列出任何通道,但是您告诉conda使用特定的通道,并通过该命令的-c anaconda部分为其提供最高优先级的。因此,考虑到你告诉conda install应该更喜欢来自anaconda频道的包,它会在web上找到它能找到的最匹配的包。但是,anaconda频道上没有flask=0.12,他们(针对您的平台)拥有的最高版本是flask=0.11.1。您可以在这里查看他们在该频道上提供的所有版本的列表:https://anaconda.org/anaconda/flask/files

所以这是正在发生的事情

代码语言:javascript
运行
复制
conda install -c anaconda flask=0.12

去查找它可以从anaconda通道中找到的所有包。它找不到适用于您的平台的flask=0.12,所以既然您已经安装了它,它就什么也做不了。但是,它确实在该通道上找到了condaconda-env的版本,因此它决定从anaconda通道下载它们,因为您给了它最高的优先级,即使版本较低。

代码语言:javascript
运行
复制
conda install -c anaconda flask

还可以从anaconda通道中查找它可以找到的所有包。由于您没有为flask指定版本,因此conda将在您指定的频道上查找它能找到的最新版本。由于您已经从另一个通道(在本例中为defaults通道)安装了flask,因此从anaconda通道安装该版本将取代您已有的版本。

票数 14
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42015732

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档