Die kurze Antwort lautet, dass es meiner Erfahrung nach im Allgemeinen egal ist, welche Sie verwenden.
Die lange Antwort:
Dies conda-forge
gilt auch für einen zusätzlichen Kanal, über den Pakete installiert werden können. In diesem Sinne ist es nicht spezieller als der Standardkanal oder einer der anderen Hunderte (Tausende?) Von Kanälen, auf denen Leute Pakete gepostet haben. Sie können Ihren eigenen Kanal hinzufügen, wenn Sie sich unter https://anaconda.org anmelden und Ihre eigenen Conda-Pakete hochladen.
Hier müssen wir die Unterscheidung zwischen conda
dem plattformübergreifenden Paketmanager und conda-forge
dem Paketkanal treffen, über die Sie meiner Meinung nach aus Ihrer Formulierung in der Frage nicht klar sind . Anaconda Inc. (ehemals Continuum IO), die Hauptentwickler der conda
Software, verwaltet auch einen separaten Paketkanal. Dies ist die Standardeinstellung, wenn Sie conda install packagename
ohne Änderung von Optionen tippen .
Es gibt drei Möglichkeiten, die Optionen für Kanäle zu ändern. Die ersten beiden werden jedes Mal ausgeführt, wenn Sie ein Paket installieren, und das letzte ist dauerhaft. Der erste besteht darin, bei jeder Installation eines Pakets einen Kanal anzugeben:
conda install -c some-channel packagename
Natürlich muss das Paket auf diesem Kanal vorhanden sein. Auf diese Weise werden packagename
alle Abhängigkeiten von installiert some-channel
. Alternativ können Sie Folgendes angeben:
conda install some-channel::packagename
Das Paket hat immer noch existieren auf some-channel
, aber jetzt, nur packagename
aus gezogen werden some-channel
. Alle anderen Pakete, die zur Erfüllung von Abhängigkeiten benötigt werden, werden in Ihrer Standardliste von Kanälen gesucht.
Um Ihre Kanalkonfiguration zu sehen, können Sie schreiben:
conda config --show channels
Sie können die Reihenfolge steuern, in der Kanäle durchsucht werden conda config
. Du kannst schreiben:
conda config --add channels some-channel
um den Kanal some-channel
oben in der channels
Konfigurationsliste hinzuzufügen . Dies gibt some-channel
die höchste Priorität. Die Priorität bestimmt ( teilweise ), welcher Kanal ausgewählt wird, wenn mehr als ein Kanal ein bestimmtes Paket hat. Geben Sie ein, um den Kanal am Ende der Liste hinzuzufügen und ihm die niedrigste Priorität zu geben
conda config --append channels some-channel
Wenn Sie den von Ihnen hinzugefügten Kanal entfernen möchten, können Sie dies schriftlich tun
conda config --remove channels some-channel
Sehen
conda config -h
für mehr Optionen.
Nach alledem gibt es vier Hauptgründe, den conda-forge
Kanal anstelle des defaults
von Anaconda gepflegten Kanals zu verwenden:
- Pakete auf sind
conda-forge
möglicherweise aktueller als die auf dem defaults
Kanal
- Es gibt Pakete auf dem
conda-forge
Kanal, die nicht verfügbar sinddefaults
- Sie möchten lieber eine Abhängigkeit wie
openblas
(von conda-forge
) anstelle von mkl
(von defaults
) verwenden.
- Wenn Sie ein Paket installieren, für das eine kompilierte Bibliothek erforderlich ist (z. B. eine C-Erweiterung oder ein Wrapper um eine C-Bibliothek), kann dies die Wahrscheinlichkeit von Inkompatibilitäten verringern, wenn Sie alle Pakete aufgrund von Binärdateien von einem einzelnen Kanal aus in einer Umgebung installieren Kompatibilität der Basis-C-Bibliothek (dieser Hinweis ist jedoch möglicherweise veraltet / wird in Zukunft geändert).
conda
ist ein Paketmanager undconda-forge
ist ein Kanal. Vielleicht stimmte es, als diese Frage gestellt wurde?