Die kurze Antwort ist, dass, in der Regel in meiner Erfahrung, es, die Sie verwenden, spielt keine Rolle.
Die lange Antwort:
So conda-forge
ist ein zusätzlicher Kanal, von dem Paket installiert werden kann. In diesem Sinne ist es nicht spezieller als der Standardkanal oder einer der anderen Hunderte (Tausende?) Von Kanälen, auf die 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, die ich denke, Sie sind nicht klar aus Ihrer Formulierung in der Frage, zwischen conda
, der plattformübergreifende Paket-Manager und conda-forge
, der Paket-Kanal. Continuum IO, die Hauptentwickler der conda
Software, verwalten auch einen separaten Paketkanal, der der Standard ist, wenn Sie conda install packagename
eingeben, ohne irgendwelche Optionen zu ändern.
Es gibt zwei Möglichkeiten, die Optionen für Kanäle zu ändern. Eines ist ein Kanal angeben, jedes Mal, wenn Sie installieren ein Paket:
conda install -c some-channel packagename
Natürlich ist das Paket hat auf diesem Kanal existieren. Wenn Sie häufig denselben Kanal verwenden, möchten Sie ihn möglicherweise zu Ihrer Konfiguration hinzufügen. Sie können schreiben,
conda config --add channels some-channel
den Kanal some-channel
an die Spitze der channels
Konfigurationsliste hinzuzufügen. Dies gibt some-channel
die höchste Priorität (Priorität bestimmt (in part) welcher Kanal ausgewählt wird, wenn mehr als ein Kanal ein bestimmtes Paket hat). Um den Kanal zu dem Ende der Liste hinzufügen und die niedrigste Priorität geben, geben Sie
conda config --append channels some-channel
Wenn Sie den Kanal entfernen möchten, die Sie hinzugefügt haben, können Sie dies tun, indem er
conda config --remove channels some-channel
Siehe
conda config -h
für weitere Optionen.
Mit all das gesagt ist, gibt es vier Hauptgründe, warum die conda-forge
Kanal anstelle des defaults
Kanal von Continuum beibehalten zu verwenden:
- Pakete auf
conda-forge
kann mehr up-to-date als diejenigen, auf dem defaults
Kanal
- Es gibt Pakete auf dem
conda-forge
Kanal, der nicht von defaults
- Sie verfügbar sind, würden es vorziehen, eine Abhängigkeit wiezu verwenden 0 (von
conda-forge
) anstelle von mkl
(von defaults
).
- Wenn Sie ein Paket installieren, das eine kompilierte Bibliothek benötigt (z. B. eine C-Erweiterung oder einen Wrapper um eine C-Bibliothek), kann es die Wahrscheinlichkeit von Inkompatibilitäten verringern, wenn Sie alle Pakete in einer Umgebung von einem installieren Einzelkanal aufgrund der Binärkompatibilität der Basis-C-Bibliothek (dieser Hinweis ist jedoch möglicherweise veraltet/ändert sich in der Zukunft).
Danke! Ich habe zwei verwandte Fragen: 1. Wie kann ich herausfinden, welcher Kanal ist gut zu versuchen und; 2. Nachdem ich auf einem Kanal konfiguriert habe, wie kann ich es auf den Standard zurücksetzen? – Daniel
@Kenny Um Ihre erste Frage zu beantworten, sollten Sie auf https://anaconda.org nach dem gewünschten Paket suchen und sehen, welche Kanäle das Paket haben. Ich habe die Antwort bearbeitet, um deine zweite Frage zu beantworten. Wenn Sie jedoch ein einzelnes Paket von einem Kanal aus installieren möchten, ist es wahrscheinlich einfacher, den Befehl 'conda install -c some-channel packagenname' zu verwenden, um den Befehl zu schreiben – darthbith