Wie finde ich den Namen der Conda-Umgebung, in der mein Code läuft?

8

Ich suche nach einer guten Möglichkeit, den Namen der Conda-Umgebung herauszufinden, in der ich mich gerade befinde, in laufendem Code oder einer interaktiven Python-Instanz.

Der Anwendungsfall ist, dass ich Jupyter-Notebooks mit Python 2- und Python 3-Kernen von einer Miniconda-Installation aus laufe. Die Standardumgebung ist Py3. Es gibt eine separate Umgebung für Py2. In einer Notebook-Datei möchte ich versuchen, dass conda install foo . Ich verwende subcommand , um das jetzt zu tun, da ich kein programmatisches Conda-Äquivalent von pip.main(['install','foo']) finden kann.

Das Problem ist, dass der Befehl den Namen der Py2-Umgebung kennen muss, um foo dort zu installieren, wenn das Notebook mit dem Py2-Kernel läuft. Ohne diese Information wird es im Standard-Py3-env installiert. Ich möchte, dass der Code selbst herausfinden kann, in welcher Umgebung er sich befindet und den richtigen Namen dafür hat.

Die beste Lösung, die ich bisher habe, ist:

%Vor%

Gibt es einen direkteren / geeigneten Weg, dies zu erreichen?

    
Alnilam 11.04.2016, 03:59
quelle

2 Antworten

12

Sie möchten $CONDA_DEFAULT_ENV oder $CONDA_PREFIX :

%Vor%

In Python:

%Vor%

Die Umgebungsvariablen sind nicht gut dokumentiert. Sie finden CONDA_DEFAULT_ENV hier erwähnt: Ссылка

Die einzige Information über CONDA_PREFIX , die ich finden konnte, ist dieses Problem: Ссылка

    
NHDaly 08.03.2017, 00:07
quelle
0

sehr einfach, Sie könnten

tun %Vor%     
Ivo 11.04.2016 04:11
quelle

Tags und Links