I get this message all the time when I try to update packages and I usually just proceed and everything generally works out. But I'm concerned that I've accidentally created a much more complex Anaconda environment than I meant to. This thread (What does "the following packages will be superseded by a higher priority channel" mean?) mentions giving other channels higher priority. If that's what I've done, how can I undo it?
Here's an example of the message:
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)?
However, if I don't specify the version number, it appears to want to downgrade my flask version:
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)?
But my main question isn't about flask versions, it's asking what I did to end up with multiple channels, and how do I simply it down to one. I've seen several comments that suggest modifying the .condarc file, but I don't have one (which is the default) so I don't think that's creating the problem.
In case this helps, my output from conda info is:
Current conda install:
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
The command you're writing is
conda install -c anaconda flask
conda install
tells Conda to install a package (obviously), and flask
is the name of the package. Although you may not have any channels listed in your .condarc
file, you are telling conda to use a specific channel and give it the highest priority with the -c anaconda
part of that command. So conda install
goes out to the web and finds the best package matches that it can, taking into account that you're telling it that it should prefer packages from the anaconda
channel. However, the anaconda
channel doesn't have flask=0.12
on it, the highest version they have (for your platform) is flask=0.11.1
. You can see here for a list of all the versions that they have available on that channel: https://anaconda.org/anaconda/flask/files
So here's what's happening
conda install -c anaconda flask=0.12
goes to look for all the packages it can find from the anaconda
channel. It can't find flask=0.12
for your platform, so since you have it installed, it does nothing. However, it does find versions of conda
and conda-env
on that channel, so it decides to download them from the anaconda
channel, because you gave it the highest priority, even though the version is lower.
conda install -c anaconda flask
also goes to look for all the packages it can find from the anaconda
channel. Since you didn't specify a version for flask
, conda
looks for the most recent version it can find on the channel that you specified. Since you already have flask
installed from a different channel (in this case, the defaults
channel), installing the version from the anaconda
channel will supercede the version you have.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With