Ich habe PyCharm eingerichtet, meine virtuelle Umgebung erstellt (entweder über den Befehl virtual env oder direkt in PyCharm) und diese Umgebung als meinen Interpreter aktiviert. Alles funktioniert gut.
Wenn ich jedoch ein Terminal mit "Extras, Terminal öffnen" öffne, verwendet die angegebene Shell-Eingabeaufforderung nicht die virtuelle Umgebung. Ich muss es noch source ~/envs/someenv/bin/activate
in diesem Terminal verwenden, um es zu aktivieren.
Eine andere Methode besteht darin, die Umgebung in einer Shell zu aktivieren und PyCharm in dieser Umgebung auszuführen. Dies ist "praktikabel", aber ziemlich hässlich und bedeutet, dass ich große Probleme habe, wenn ich Umgebungen oder Projekte von PyCharm wechsle: Ich verwende jetzt die völlig falsche Umgebung.
Gibt es eine andere, viel einfachere Möglichkeit, mit "Tools, Open Terminal" die virtuelle Umgebung automatisch zu aktivieren?
~/pycharmenv/bin/terminalactivate
klingt nach einer guten Option..pycharmrc
im Home-Ordner des Projekts ablege, damit ich für jedes Projekt eine andere Datei haben kann. In einem ordnungsgemäß konfigurierten Projekt muss der absolute Pfad zur.pycharmrc
Datei nicht angegeben werden.Aktualisieren:
Die Einstellungen in Einstellungen (Einstellungen) | Werkzeuge | Terminal sind global.
Wenn Sie für jedes Projekt ein venv verwenden, denken Sie daran, die aktuelle Pfadvariable und einen Standard-venv-Namen zu verwenden:
Für Windows-Benutzer: Wenn Sie PyCharm in einer virtuellen Umgebung verwenden, können Sie den
/K
Parameter verwenden, umcmd.exe
, um die virtuelle Umgebung automatisch festzulegen.PyCharm 3 oder 4:
Settings
,Terminal
,Default shell
und Add/K <path-to-your-activate.bat>
.PyCharm 5:
Settings
,Tools
,Terminal
, und fügen Sie/K <path-to-your-activate.bat>
zuShell path
.PyCharm 2.016,1 2.016,2 oder:
Settings
,Tools
,Terminal
, und fügen Sie""/K <path-to-your-activate.bat>""
zuShell path
und fügen Sie (die Anführungszeichen beachten). Fügen Sie außerdem Anführungszeichen um cmd.exe hinzu, was zu Folgendem führt:"cmd.exe" /k ""C:\mypath\my-venv\Scripts\activate.bat""
quelle
%CD%
ist das aktuelle Arbeitsverzeichnis, siehe Windows-Shell-Befehl, um den vollständigen Pfad zum aktuellen Verzeichnis zu erhalten?Für Windows-Benutzer, die PyCharm und eine virtuelle Umgebung unter Windows verwenden, können Sie den Parameter / k to cmd.exe verwenden, um die virtuelle Umgebung automatisch festzulegen.
Gehen Sie zu Einstellungen, Terminal, Standard-Shell und fügen Sie hinzu
/K <path-to-your-activate.bat>
.Ich habe nicht den Ruf, die frühere Antwort zu kommentieren, also poste ich diese korrigierte Version. Das spart wirklich viel Zeit.
Aktualisieren:
Hinweis: Pycharm unterstützt jetzt virtuelle Umgebungen direkt und scheint für mich gut zu funktionieren - daher wird meine Problemumgehung nicht mehr benötigt.
quelle
Basierend auf den Antworten von Peter und Experimenten habe ich eine gute "allgemeine Lösung" gefunden, die Folgendes löst:
Legen Sie dieses Skript irgendwo in einem bin-Verzeichnis ab. ZB ~ / bin / pycharmactivate
Stellen Sie dann den Shell-Pfad von PyCharm auf:
quelle
if [ -r "/etc/profile" ] ; then . /etc/profile ; fi if [ -r "~/.bash_profile" ] ; then . ~/.bash_profile elif [ -r "~/.bash_login" ] ; then . ~/.bash_login elif [ -r "~/.profile" ] ; then . ~/.profile fi source ~/learnp/project1/venv/bin/activate
In PyCharm 4 sind jetzt virtuelle Umgebungen in die IDE integriert. Bei der Auswahl Ihres Projektinterpreters können Sie eine virtuelle Umgebung erstellen, hinzufügen oder auswählen. Sie haben eine "Python-Konsole" hinzugefügt, die im konfigurierten Projektinterpreter ausgeführt wird.
Mehr Infos hier.
quelle
source /path/to/venv/bin/activate
manuell im Terminal.Danke Chris, dein Skript hat für einige Projekte funktioniert, aber nicht für alle auf meinem Computer. Hier ist ein Skript, das ich geschrieben habe und ich hoffe, dass es jemand nützlich findet.
quelle
source /etc/profile
am Anfang der Datei ~ / .pycharmrc (auf Mac Yosemite) hinzu. 2) Bearbeiten Sie in Pycharm Einstellungen> Extras> Terminal> Shell-Pfad zu "/ bin / bash --rcfile ~ / .pycharmrc"Ich habe alle Antworten oben gesehen, aber keine davon ist elegant genug für mich. In PyCharm 2017.01.03 (in meinem Computer), ist der einfachste Weg zu öffnen
Settings->Tools->Terminal
und zu überprüfenShell integration
undActivate virtualenv
Optionen.quelle
Wenn Sie die Windows-Version verwenden, ist dies recht einfach. Wenn Sie die virtuelle Umgebung bereits haben, navigieren Sie einfach zu ihrem Ordner und suchen Sie
activate.bat
imScripts
Ordner. Kopieren Sie den vollständigen Pfad und fügen Sie ihn in das Pycharm-Terminal ein. DrückenEnter
Sie dann und Sie sind fertig!Wenn Sie eine neue virtuelle Umgebung erstellen müssen:
Gehen Sie zu Dateien> Einstellungen, suchen Sie danach
project interpreter
, öffnen Sie es, klicken Sie auf die Zahnradschaltfläche und erstellen Sie die Umgebung, wo immer Sie möchten, und folgen Sie dann dem ersten Absatz.quelle
activate.bat
für jeden von ihnen einen eigenen?activate.bat
Dateien haben. Wenn dir die Antwort gefällt,Scripts
Ordner. Auch Pycharm beschwert sich, dassactivate.bat
es sich nicht um ein gültiges Python-SDK handeltactivate
Batchdatei ausführen . oder wenn es Ihnen möglich ist, erstellen Sie einfach eine neue Umgebung.Auf dem Mac ist es PyCharm => Einstellungen ... => Tools => Terminal => Virtualenv aktivieren , das standardmäßig aktiviert sein sollte.
quelle
Ich habe gerade ein Skript namens pycharmactivate zu meinem Home-Verzeichnis hinzugefügt. Legen Sie den Wert von PyCharm (4.0.1) fest. Datei> Einstellungen> Extras> Terminal> Shell-Pfad zu / bin / bash --rcfile ~ / pycharmactivate. Vielleicht nicht die beste Lösung, wenn Sie unterschiedliche Projekt- und Virtualenv-Verzeichnisse / -Namen haben, aber es funktioniert für mich. Dieses Skript enthält die folgenden 3 Zeilen und setzt voraus, dass Ihre virtuelle Umgebung denselben Namen wie Ihr Projektverzeichnis hat.
quelle
Nach Peters Antwort hier die Mac-Version der
.pycharmrc
Datei:Henne
quelle
Ich habe eine Lösung, die auf meinem Windows 7-Computer funktioniert hat.
Ich glaube, dass das Terminal von PyCharm darauf zurückzuführen ist, dass es ausgeführt wird
cmd.exe
, wodurch die Windows-PATH
Variable geladen wird und die Version von Python verwendet wird, die zuerst darin gefunden wirdPATH
. So bearbeiten Sie diese Variable der rechten Maustaste auf Arbeitsplatz -> Eigenschaften -> Erweiterte Systemeinstellungen -> Erweitert Registerkarte -> Umgebungsvariablen ... Taste. Innerhalb der Systemvariablen Abschnitt auswählen und bearbeiten diePATH
Variable.Hier ist der relevante Teil von mir
PATH
vor dem Bearbeiten:... und nach der Bearbeitung
PATH
(jetzt nur noch 3 Zeilen):Um dies zu testen, öffnen Sie ein neues Windows-Terminal ( Start -> eingeben
cmd
und drücken Enter) und prüfen Sie, ob es Ihre virtuelle Umgebung verwendet. Wenn dies funktioniert, starten Sie PyCharm neu und testen Sie es anschließend im PyCharm-Terminal.quelle
Dies ist, was ich tue: Erstellen Sie eine Datei "activate_env.bat" (Windows, möglicherweise .sh unter Linux) im Quellcode-Ordner:
und eine andere Datei deactivate_env.bat:
Jedes Mal, wenn Sie das Terminalfenster öffnen, führen Sie einfach die bat-Datei aus, um die virtuelle Umgebung zu aktivieren / deaktivieren. Sie bleiben im Quellcodepfad, ohne den Pfad hin und zurück ändern zu müssen.
quelle
Wenn Sie Pycharm 2016.1.4v und höher verwenden, sollten Sie
"default path" /K "<path-to-your-activate.bat>"
Anführungszeichen nicht vergessenquelle
Wenn Sie Ihr Projekt in ein anderes Verzeichnis verschoben haben, können Sie den neuen Pfad über das Dialogfeld "Einstellungen" festlegen. Anschließend müssen Sie diesen Projektinterpreter im Dialogfeld "Konfiguration bearbeiten" festlegen.
quelle
Eine andere Alternative ist die Verwendung von virtualenvwrapper zum Verwalten Ihrer virtuellen Umgebungen. Sobald das virtualenvwrapper- Skript aktiviert ist , kann pycharm dies verwenden. Der einfache
workon
Befehl ist dann über die pycharm-Konsole verfügbar und zeigt Ihnen die verfügbaren virtuellen Umgebungen an:quelle
Diese Methode sollte mit beliebigen virtuellen Umgebungen pro Projekt funktionieren und nimmt keine Annahmen über Ihre Umgebung vor, da von Ihnen erstellte Hooks verwendet werden.
Du schreibst:
Da die aktuelle Version von PyCharm (Community 2016.1) keine Terminaleinstellungen pro Projekt zulässt, beginnen Sie mit dem Skript, das den projektspezifischen Hook aufruft. Das ist mein
~/.pycharmrc
:Wenn Sie etwas anderes als Bash verwenden, rufen Sie Ihr eigenes
.bash_profile
Äquivalent auf, falls Sie dies wünschen.Stellen Sie nun Ihren PyCharm "Tools -> Terminal -> Shell Path" ein, um dieses Skript aufzurufen, z.
/bin/bash --rcfile ~/.pycharmrc
Erstellen Sie für jedes PyCharm-Projekt, für das eine bestimmte virtuelle Umgebung aktiviert sein muss, eine Datei im PyCharm-Projektstamm
.pycharm/term-activate
. Dies ist Ihr Hook und definiert einfach den Namen der gewünschten virtuellen Umgebung für Ihr PyCharm-Projekt:Sie können Ihre Hooks natürlich um alles erweitern, was Sie in der Terminalumgebung Ihres speziellen PyCharm-Projekts nützlich finden.
quelle
Stellen Sie in virtuellen Umgebungen mit conda unter Windows sicher, dass Ihre Batchdatei NICHT benannt ist,
activate.bat
da dies zu einem Konflikt mit demactivate
Befehl conda führt , der zu einem rekursiven Aufruf der Batchdatei führt.Was für mich funktioniert, ist der folgende Shell-Pfad:
Und in der Datei activate-env.bat:
quelle
Ich wollte für jedes Projekt eine eigene virtuelle Umgebung und wollte nicht unbedingt zusätzliche Dateien haben, um dies zu ermöglichen. Eine Lösung, die Sie nur einmal ausführen müssen und die für alle Projekte funktioniert, besteht darin, Ihrem
.bashrc
oder Folgendes hinzuzufügen.bash_profile
:Dies prüft, ob es eine virtuelle Umgebung gibt, in der das Terminal geöffnet wird, und aktiviert es in diesem Fall (und natürlich können auch andere relative Pfade verwendet werden). Die Terminaleinstellungen von PyCharm können als Standard beibehalten werden.
quelle
PyCharm 4.5.4
Ich weiß nicht warum, aber es funktioniert nicht für mich. PyCharm druckt einen Fehler.
cmd.exe /K "<path-to-your-activate.bat>"
Es funktioniert, aber es erstellt für jedes Projekt dieselbe virtuelle Umgebung, und selbst wenn dies nicht erforderlich ist.Diese Quittung funktioniert! Aber die Zeichenfolge
/env_yourenvlocate/scripts/activate.bat
muss solche Anführungszeichen enthalten"Full_path_to_your_env_locate\scripts\activate.bat"
!Das Deaktivieren der virtuellen Umgebung ist sehr einfach - geben Sie das Terminal 'Deaktivieren' ein.
quelle
Lösung für WSL (Ubuntu unter Windows)
Wenn Sie WSL (Ubuntu unter Windows) verwenden, können Sie bash auch als Terminal in pycharm öffnen und eine virtuelle Linux-Umgebung aktivieren.
Verwenden Sie eine
.pycharmrc
Datei wie in Peter Gibsons Antwort beschrieben. Fügen Sie die.pycharmrc
Datei mit folgendem Inhalt zu Ihrem Home-Verzeichnis hinzu:Fügen Sie unter Pycharm- Datei> Einstellungen> Extras > Terminal den folgenden 'Shell-Pfad' hinzu:
Projektspezifische virtuelle Umgebung
Der Pfad zu Ihrer virtuellen Umgebung
.pycharmrc
muss nicht absolut sein. Sie können eine projektspezifische virtuelle Umgebung festlegen, indem Sie einen relativen Pfad aus Ihrem Projektverzeichnis festlegen. Meine virtuelle Umgebung befindet sich immer in einem 'venv'-Ordner unter meinem Projektverzeichnis, daher.pycharmrc
sieht meine Datei folgendermaßen aus:BONUS: Öffnet automatisch den SSH-Tunnel, um virtualenv als Projektinterpreter zu verbinden
Fügen Sie Ihrer
.pycharmrc
Datei Folgendes hinzu :Dies prüft, ob ein SSH-Tunnel bereits geöffnet ist, und öffnet ansonsten einen. Unter Datei -> Einstellungen -> Projekt -> Projektinterpreter in PyCharm, ein neues Remote - Interpreter mit folgenden Konfiguration hinzu:
Wenn Sie jetzt Ihr Projekt öffnen, startet Ihre Bash automatisch in Ihrer virtuellen Umgebung, öffnet einen SSH-Tunnel und Pycharm verbindet die virtuelle Umgebung als Remote-Interpreter.
Warnung: Das letzte Update in Windows startet beim Start automatisch einen SshBroker- und SshProxy-Dienst. Diese blockieren den SSH-Tunnel von Linux zu Windows. Sie können diese Dienste im Task-Manager -> Dienste beenden. Danach funktioniert alles wieder.
quelle
Eine Option haben Sie, wenn Sie das Terminal> Ausführen> Debuggen> Konfigurationen bearbeiten eingeben
Wählen Sie die entsprechende Konditionsumgebung aus. Auch wenn Sie ein neues Projekt erstellen, werden Sie aufgefordert, diesen Speicherort zu konfigurieren.
quelle