What does “the following packages will be superseded by a higher priority channel” mean?

与世无争的帅哥 提交于 2019-12-04 15:09:30

问题


Disclaimer: I am an ignorant Linux + Anaconda noob.

Now, with that out of the way: I am trying to install fuzzywuzzy onto my Anaconda distribution in 64 bit Linux. When I do this, it tries to change my conda, and conda-env to conda-forge channels. As follows:

I search anaconda for fuzzy wuzzy by writing:

anaconda search -t fuzzywuzzy

This showed that the most up to date version available for anaconda on 64 bit Linux is 0.13 provided on the channel conda-forge.

To install, within the command line, I type:

conda install -c conda-forge fuzzywuzzy=0.13.0

I get the following output:

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)?

I have no idea what this is telling me: I'm hoping somebody can enlighten me.

What does this mean? Am I right in thinking that this is changing my default package manager channels? Can this be reversed if I go ahead and install it? Is there any way to complete the installation without changing the default channel? Or is favouring the superceding channels something that I should be doing?

I don't want to change my distribution just for one module, or cause further headaches.

This question: https://github.com/conda/conda/issues/2898 sounds like its telling me that I should just let it happen. What do?

As you can see, I have no idea what I am doing; I defer to those with greater knowledge. Many thanks.

(I am using anaconda version: 4.2.13 and Python 2.7.12)


回答1:


When you ask conda to install fuzzywuzzy from conda-forge, fuzzywuzzy indicates that it needs conda and conda-env. Conda detects that you already have these installed, but it also knows that these were installed from the default channel and not conda-forge.

Now, as a user you might expect that 4.2.13-py27_0 in the default channel and in the conda-forge channel to be exactly the same (and they should) but conda can not guarantee that this is the case. The developers could very well have uploaded different packages to the default and conda-forge channels.

This would cause some really shady bugs, and in order to avoid those conda prefers to install the dependencies from the same channel as the new package. This is what the message indicates, a package getting replaced with the same package, but from a different channel which you gave higher priority by using -c conda-forge.



来源:https://stackoverflow.com/questions/41461582/what-does-the-following-packages-will-be-superseded-by-a-higher-priority-channe

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!