webentwicklung-frage-antwort-db.com.de

Kann ich einen Kanal zu einer bestimmten Conda-Umgebung hinzufügen?

Ich möchte einen Conda-Kanal zu einer bestimmten conda-Umgebung hinzufügen, wenn ich ihn verwende 

conda config --add channels glotzer

dieser Kanal ist jetzt in allen meinen Conda-Umgebungen verfügbar. Die ~/.condarc-Datei enthält neben dem Testen einer Installation aus einer anderen Umgebung Folgendes:

channels:
  - glotzer
  - defaults

Wie würde ich Conda so konfigurieren, dass der Kanal nur in einer bestimmten Umgebung verfügbar ist?

In der channel-Dokumentation fand ich heraus, dass bei conda> = 4.1.0 das Platzieren von Channels am Ende des ~/.condarc dazu führt, dass hinzugefügte Channels den Kernpaketsatz nicht überschreiben.

Standardmäßig bevorzugt Conda jetzt Pakete aus einem Kanal mit höherer Priorität gegenüber jeder Version aus einem Kanal mit niedrigerer Priorität. Daher können Sie jetzt Kanäle sicher in den unteren Bereich Ihres .__ setzen. Kanalliste, um zusätzliche Pakete bereitzustellen, die nicht in der .__ enthalten sind. Standardkanäle, und seien Sie immer noch sicher, dass diese Kanäle nicht überschreiben Sie den Kernpaketsatz.

Ich gehe davon aus, dass dadurch die meisten Probleme vermieden werden, es sei denn, Sie möchten, dass das Paket durch einen Kanal hinzugefügt wird, um ein Kernpaket zu überschreiben.

16

Ab Version 4.2 werden umgebungsspezifische .condarc-Dateien unterstützt, und Sie können schreiben:

conda config --env --add channels glotzer

um den Kanal zur Konfiguration für die aktive Umgebung hinzuzufügen. 

[ Nicht sicher, ob in 4.2 das --env-Flag hinzugefügt wurde. Antwort basierend auf conda 4.5.9 ]

15

Derzeit ist es nicht möglich, einen Kanal zu einer einzelnen Conda-Umgebung hinzuzufügen. Wenn Sie der globalen ~/.condarc-Datei keinen Kanal hinzufügen möchten, sollten Sie die Option zum Installieren eines Pakets von einem bestimmten Kanal aus verwenden: 

conda install <some-package> -c glotzer
5

Sie können eine environment.yml-Datei erstellen, die die Spezifikation Ihrer conda-Umgebung enthält. Die vollständigen Dokumente sind hier , aber die grundlegenden Einstellungen lauten wie folgt:

name: EnvironmentName
channels:
    - conda-forge
    - glotzer
dependencies:
    - pip:
        - tensorflow
    - pandas=0.22.*

Um die Umgebung zu verwenden, geben Sie ein

conda env create -f environment.yml
conda activate EnvironmentName

So aktualisieren Sie die Umgebung, wenn environment.yml geändert wird oder Pakete aktualisiert werden

conda env update -f environment.yml
conda activate EnvironmentName
4
BallpointBen

Sie können eine neue Umgebung mit einem bestimmten Kanal erstellen:

conda create -n EnvironmentName -c ChannelName

0
Tony Shouse