Conda
et conda-forge
sont tous deux des gestionnaires de packages Python. Quel est le choix approprié lorsqu'un package existe dans les deux référentiels? Django, par exemple, peut être installé avec l'un ou l'autre, mais la différence entre les deux réside dans plusieurs dépendances (conda-forge en a beaucoup plus). Il n'y a aucune explication à ces différences, pas même un simple README.
Lequel faut-il utiliser? Conda ou conda-forge? Est-ce que ça importe?
conda
est un gestionnaire de packages etconda-forge
une chaîne. C'était peut-être vrai quand cette question a été posée?Réponses:
La réponse courte est que, d'après mon expérience en général, peu importe ce que vous utilisez.
La réponse longue:
Il en
conda-forge
va de même pour un canal supplémentaire à partir duquel les packages peuvent être installés. En ce sens, ce n'est pas plus spécial que la chaîne par défaut, ou l'une des centaines (milliers?) De chaînes sur lesquelles les gens ont posté des packages. Vous pouvez ajouter votre propre chaîne si vous vous inscrivez sur https://anaconda.org et téléchargez vos propres packages Conda.Ici, nous devons faire la distinction, dont je pense que vous n'êtes pas clair d'après votre formulation dans la question, entre
conda
le gestionnaire de packages multiplateforme etconda-forge
le canal de packages. Anaconda Inc. (anciennement Continuum IO), les principaux développeurs duconda
logiciel, maintiennent également un canal séparé de packages, qui est la valeur par défaut lorsque vous tapezconda install packagename
sans modifier aucune option.Il existe trois façons de modifier les options des chaînes. Les deux premiers sont effectués à chaque fois que vous installez un package et le dernier est persistant. La première consiste à spécifier un canal à chaque fois que vous installez un package:
Bien sûr, le package doit exister sur ce canal. De cette façon, l'installation
packagename
et toutes ses dépendances à partir desome-channel
. Vous pouvez également spécifier:Le paquet doit toujours exister
some-channel
, mais maintenant, seulpackagename
sera extraitsome-channel
. Tous les autres packages nécessaires pour satisfaire les dépendances seront recherchés dans votre liste de chaînes par défaut.Pour voir la configuration de votre canal, vous pouvez écrire:
Vous pouvez contrôler l'ordre dans lequel les chaînes sont recherchées
conda config
. Tu peux écrire:pour ajouter le canal
some-channel
en haut de lachannels
liste de configuration. Cela donnesome-channel
la priorité la plus élevée. La priorité détermine ( en partie ) quel canal est sélectionné lorsque plusieurs canaux ont un paquet particulier. Pour ajouter le canal à la fin de la liste et lui donner la priorité la plus basse, tapezSi vous souhaitez supprimer la chaîne que vous avez ajoutée, vous pouvez le faire en écrivant
Voir
pour plus d'options.
Cela dit, il y a quatre raisons principales d'utiliser le
conda-forge
canal au lieu dudefaults
canal maintenu par Anaconda:conda-forge
peuvent être plus à jour que ceux sur ladefaults
chaîneconda-forge
chaîne ne sont pas disponibles à partir dedefaults
openblas
(fromconda-forge
) au lieu demkl
(fromdefaults
).la source
conda install -c some-channel packagename
manière d'écrire la commandemkl
plus rapide queopenblas
?Anaconda a modifié ses conditions d'utilisation afin que les "gros utilisateurs commerciaux" aient à payer, ce qui n'inclut pas le
conda-forge
canal.Vous voudrez probablement vous en tenir
conda-forge
si vous ne voulez pas payer pour l'utilisation. Comme indiqué dans la documentation :Vous pouvez également utiliser miniforge qui a
conda-forge
comme canal par défaut et prend en charge les plates-formes ppc64le et aarch64 ainsi que les autres plates-formes habituelles.la source
Le canal conda-forge est l'endroit où vous pouvez trouver des paquets qui ont été construits pour conda mais qui ne font pas encore partie de la distribution officielle d'Anaconda.
En règle générale, vous pouvez utiliser n'importe lequel d'entre eux.
la source
Il existe des bibliothèques Python que vous ne pouvez pas installer avec un simple
conda install
car leur canal n'est pas disponible sauf si vous appliquez conda-forge. D'après mon expérience, pip est plus générique pour examiner différentes sources de canaux que conda. Par exemple, si vous souhaitez installer,python-constraint
vous pouvez le faire viapip install
mais l'installer via ** cond **. vous devez spécifier le canal -conda-forge
.mais non
la source
conda update --all
ne mettront pas à jour le paquet installé de pip