Verwenden Sie die Conda-Umgebung in Pycharm

73

Conda env wird mit source enable env_name aktiviert .

Wie kann ich die Umgebung in Pycharm aktivieren?

Abhinav Rai
quelle

Antworten:

39

Die beste PyCharm-spezifische Antwort ist die von Wasabi (unten).

Wenn Sie jedoch einen Interpreter aus einer Conda-Umgebung heraus verwenden möchten, können Sie den Speicherort des Interpreters so ändern, dass er auf die bestimmte Umgebung verweist, die Sie verwenden möchten, z. B. /home/username/miniconda/envs/bunnieswie in diesem Kommentar erwähnt .

Wie in dieser Antwort von Mark Turner erwähnt , kann beim Aktivieren einer Umgebung ein Shell-Skript ausgeführt werden. Diese Methode führt dieses Shell-Skript nicht aus, aber Sie können seiner Problemumgehung folgen, wenn Sie das Shell-Skript ausführen müssen:

  • Öffnen Sie eine Conda-Eingabeaufforderung
  • Aktivieren Sie die Umgebung
  • Führen Sie pycharm an der Conda-Eingabeaufforderung aus
Ari Cooper-Davis
quelle
5
Es ist möglich, dass ein Conda-Paket ein Shell-Skript ausliefert, das bei Aktivierung der Umgebung ausgeführt wird. In diesem Fall bedeutet das Aktivieren einer Umgebung mehr als das Ändern des PFADS - es werden auch solche Skripte ausgeführt. In einigen Fällen kann es also zu PyCharm-spezifischen Problemen kommen. In der Praxis sind solche Skripte nach meiner (begrenzten) Erfahrung jedoch selten.
ctrueden
2
Das ist nicht ganz richtig. Gemäß dem obigen Kommentar können in conda envs auch Aktivierungs- (und Deaktivierungs-) Skripte von Paketen in [your_env]/etc/conda/activate.d(und deactivate.d) installiert werden . PyCharm führt diese nicht aus, aber activate/ source activatetut und nicht diese Skripte kann (und tut) zu unerwartetem Verhalten in PyCharm führen.
user2856
2
@ user2856 stimme voll und ganz zu. Aktivieren macht viel mehr als nur PATH zu ändern. Es kann auf andere Batch-Skripte verweisen, die alle Arten von Umgebungsvariablen über den Pfad hinaus festlegen. Ich würde argumentieren, dass diese Antwort falsch ist.
user32882
@ user32882 Du hast absolut Recht, ich habe dieses Zitat wörtlich aufgehoben und war falsch, dies zu tun! Ich werde meine Antwort bearbeiten.
Ari Cooper-Davis
46

öffnen

pycharm / Einstellungen / Projekt / Projektinterpreter

Und überprüfen Sie den vorhandenen Dolmetscher. Conda-Umgebungen sind dort möglicherweise bereits aufgeführt.

Geben Sie hier die Bildbeschreibung ein

Wenn nicht vorhanden, können Sie mit der Schaltfläche "Conda Env erstellen" eine neue Conda-Umgebung erstellen

Geben Sie hier die Bildbeschreibung ein

Wenn Sie nach einer bestimmten Conda-Umgebung suchen, können Sie 'add local' verwenden. Wenn Sie auf "Lokal hinzufügen" klicken, geben Sie den Conda-Umgebungspfad + ein/bin/python

Sie können alle Conda-Umgebungen in Ihrem System mit folgendem Befehl auflisten.

>>conda info --env
# conda environments:
#
tensorflow            *  /Users/username/miniconda3/envs/tensorflow

Sie können den Ansatz wählen, der Ihren Anforderungen am besten entspricht.

Wasabi
quelle
1
Gibt es einen Unterschied zwischen der Verwendung von Pycharms "Create Conda Env" und der Erstellung einer neuen Conda-Umgebung im Terminal und dem anschließenden Zugriff über Pycharms "Add Local"?
DataMan
1
Sie können leicht testen. Erstellen Sie eine Konda env über pycharm und dann oepn terminal und listen Sie alle Umgebungen auf. Wenn es dort aufgelistet ist, bedeutet dies, dass es keinen Unterschied gibt. Sie Conda env mit folgendem Befehl auf Terminal auflisten: Conda info --envs
Wasabi
Ich habe diesen Schalter nicht. nur lokal hinzufügen und entfernen hinzufügen.
Softmarshmallow
Ctrl+Alt+Sum die "Projekteinstellungen" oder "Projekteinstellungen" anzuzeigen, da ich keine verdammte
Menüschaltfläche
10

Wie in einem der obigen Kommentare erwähnt, können beim Aktivieren einer Umgebung Skripts ausgeführt werden, die andere Aktionen ausführen, z. B. das Festlegen von Umgebungsvariablen. Ich habe in einer Umgebung gearbeitet, die dies getan hat. In diesem Szenario funktionierte Folgendes:

  • Öffnen Sie eine Conda-Eingabeaufforderung
  • Aktivieren Sie die Umgebung
  • Führen Sie pycharm an der Conda-Eingabeaufforderung aus

Pycharm hatte dann Zugriff auf die Umgebungsvariablen, die durch Aktivieren der Umgebung festgelegt wurden.

Mark Turner
quelle
7

Wie wäre es mit environment.yml

Pycharm kann in der Tat eine neue Conda-Umgebung schaffen. Bis dieses Problem behoben ist, wird leider kein environment.ymlSupport angeboten, was bedeutet, dass die dort deklarierten Abhängigkeiten nicht installiert werden.

Wenn Sie an einem Projekt arbeiten, das auf einer solchen Datei basiert, müssen Sie die dedizierte Umgebung manuell auf Ihrem Computer erstellen / aktualisieren:

conda env create -n <my-project>

Denken Sie dann daran, jedes Mal zu aktualisieren, wenn environment.ymlÄnderungen vorgenommen werden (von Ihnen oder vorgelagert).

conda env update -n <my-project>

Nicht ideal

Arnaud P.
quelle
2

Ich hatte das gleiche Problem wie unter Windows 10 Professional 64 Bit. Meine Lösung bestand darin, Pycharm als Administrator zu starten, und es funktionierte

TarekB
quelle
0

Es scheint mir wichtig zu sein zu wissen, dass das Einstellen des Projektinterpreters, wie in Wasabis Kommentar beschrieben, die Conda-Umgebung nicht wirklich aktiviert.

Ich hatte ein Problem mit der Ausführung von xgboost (das ich mit conda installiert habe) in PyCharm und es stellte sich heraus, dass auch einige Ordner zu PATH hinzugefügt werden müssen. Am Ende musste ich mich mit einer hässlichen Problemumgehung begnügen:

  1. Finden Sie heraus, welche zusätzlichen Ordner in PATH für eine bestimmte Umgebung vorhanden sind (mit echo %PATH%in cmd).

  2. In der Datei, die ich ausführen möchte, setzen Sie sie vor allem anderen an die Spitze:

import os os.environ["PATH"] += os.pathsep + os.pathsep.join(my_extra_folders_list)

Ich weiß, dass dies überhaupt keine richtige Lösung ist, aber ich konnte keine andere finden als die, die Mark Turner in seinem Kommentar erwähnt hat.

Jiripi
quelle