web-dev-qa-db-fra.com

Que signifie "les packages suivants seront remplacés par un canal de priorité supérieure"?

Avertissement: je suis un noob ignorant Linux + Anaconda.

Maintenant, avec cela à l'écart: j'essaie d'installer fuzzywuzzy sur ma distribution Anaconda sous Linux 64 bits. Lorsque je fais cela, il essaie de changer mon conda et conda-env à conda-forge chaînes. Comme suit:

Je recherche anaconda pour flou flou en écrivant:

anaconda search -t fuzzywuzzy

Cela a montré que la version la plus récente disponible pour anaconda sur Linux 64 bits est 0.13 fournie sur le canal conda-forge.

Pour installer, dans la ligne de commande, je tape:

conda install -c conda-forge fuzzywuzzy=0.13.0

J'obtiens la sortie suivante:

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

Je n'ai aucune idée de ce que cela me dit: j'espère que quelqu'un pourra m'éclairer.

Qu'est-ce que ça veut dire? Ai-je raison de penser que cela modifie mes canaux de gestionnaire de paquets par défaut? Est-ce que cela peut être inversé si je continue et l'installe? Existe-t-il un moyen de terminer l'installation sans modifier le canal par défaut? Ou est-ce que favoriser les canaux de substitution est quelque chose que je devrais faire?

Je ne veux pas changer ma distribution pour un seul module, ou causer d'autres maux de tête.

Cette question: https://github.com/conda/conda/issues/2898 sonne comme si elle me disait que je devrais simplement laisser faire. Qu'est-ce que?

Comme vous pouvez le voir, je n'ai aucune idée de ce que je fais; Je m'en remets à ceux qui ont une meilleure connaissance. Merci beaucoup.

(J'utilise la version anaconda: 4.2.13 et Python 2.7.12)

23
Chuck

Lorsque vous demandez à conda d'installer fuzzywuzzy à partir de conda-forge, fuzzywuzzy indique qu'il a besoin de conda et conda-env. Conda détecte que vous les avez déjà installés, mais il sait également qu'ils ont été installés à partir du canal par défaut et non de conda-forge.

Maintenant, en tant qu'utilisateur, vous pouvez vous attendre à ce que 4.2.13-py27_0 dans le canal par défaut et dans le canal conda-forge pour être exactement les mêmes (et ils devraient), mais conda ne peut pas garantir que c'est le cas. Les développeurs auraient très bien pu télécharger différents packages sur les canaux par défaut et conda-forge.

Cela provoquerait des bugs vraiment louches, et afin d'éviter ces conda préfère installer les dépendances à partir du même canal que le nouveau paquet. C'est ce qu'indique le message, un package étant remplacé par le même package, mais à partir d'un canal différent auquel vous avez accordé une priorité plus élevée en utilisant -c conda-forge.

9
Jonas Adler