当我尝试更新软件包时,我始终收到此消息,而且我通常只是继续进行,一切都正常。但是我担心我不小心创造了一个比我想要的更复杂的Anaconda环境。该线程(What does "the following packages will be superseded by a higher priority channel" mean?)提到给予其他频道更高的优先级。如果这就是我所做的,我该如何撤消它?
以下是该消息的示例:
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)?
但是,如果我没有指定版本号,它似乎想要降低我的烧瓶版本:
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)?
但我的主要问题不是关于烧瓶版本,而是询问我做了多少渠道,以及如何将其简化为一个。我已经看到一些建议修改.condarc文件的评论,但我没有(这是默认设置),所以我不认为这会造成问题。
如果这有帮助,我的conda信息输出是:
目前的conda安装:
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
答案 0 :(得分:10)
您正在编写的命令是
conda install -c anaconda flask
conda install
告诉Conda安装软件包(显然),flask
是软件包的名称。虽然您的.condarc
文件中可能没有列出任何频道,但您告诉conda使用特定频道并将其设为最高优先级,并使用该命令的-c anaconda
部分。因此conda install
会访问网络并找到最佳的软件包匹配,考虑到您告诉它它应该更喜欢来自anaconda
频道的软件包。但是,anaconda
频道上没有flask=0.12
,他们拥有的最高版本(适用于您的平台)为flask=0.11.1
。您可以在此处查看该频道上可用的所有版本的列表:https://anaconda.org/anaconda/flask/files
所以这就是正在发生的事情
conda install -c anaconda flask=0.12
会查找可以从anaconda
频道找到的所有软件包。它无法为您的平台找到flask=0.12
,因此,既然已安装它,它就什么都不做。但是,它确实在该频道上找到conda
和conda-env
的版本,因此它决定从anaconda
频道下载它们,因为您给它的优先级最高,即使版本是低。
conda install -c anaconda flask
还会查找它可以从anaconda
频道找到的所有软件包。由于您未指定flask
的版本,conda
会查找您在指定频道上找到的最新版本。由于您已经从其他渠道安装了flask
(在本例中为defaults
频道),因此从anaconda
频道安装版本将取代您拥有的版本。