Wie aktiviere ich eine virtuelle Umgebung im PyCharm-Terminal?

110

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/activatein 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?

Chris Cogdon
quelle

Antworten:

95

Bearbeiten:

Laut https://www.jetbrains.com/pycharm/whatsnew/#v2016-3-venv-in-terminal bietet PyCharm 2016.3 (veröffentlicht im November 2016) sofort virutalenv-Unterstützung für Terminals

Auto virtualenv wird für bash, zsh, fish und Windows cmd unterstützt. Sie können Ihre Shell-Einstellungen unter Einstellungen (Einstellungen) | anpassen Werkzeuge | Terminal.


Alte Methode:

Erstellen Sie .pycharmrcin Ihrem Home-Ordner eine Datei mit den folgenden Inhalten

source ~/.bashrc
source ~/pycharmvenv/bin/activate

Verwenden Sie Ihren virtualenv-Pfad als letzten Parameter.

Stellen Sie dann die Shell-Einstellungen-> Projekteinstellungen-> Shell-Pfad auf ein

/bin/bash --rcfile ~/.pycharmrc
Peter Gibson
quelle
9
Danke dir! Ich hatte nicht daran gedacht, die RC-Datei der Shell zu überschreiben. Um pycharm besser bei der Arbeit mit mehreren Projekten zu unterstützen, die möglicherweise jeweils eine andere virtuelle Umgebung haben, würde ich die Datei ".pycharmrc" etwas anderes nennen und sie möglicherweise in das env-Verzeichnis selbst einfügen. ~/pycharmenv/bin/terminalactivateklingt nach einer guten Option.
Chris Cogdon
1
In Pycharm 4 sind virtuelle Umgebungen in die IDE integriert. Weitere Informationen finden Sie in meiner Antwort.
pferate
1
@PeterGibson, die Antwort von pferate hat nichts mit der Frage des OP zu tun. Das Problem ist das Terminal, nicht der Python-Interpreter. Die venv-Integration war schon lange vor PyCharm 4 vorhanden. Ihre Antwort funktioniert jedoch.
Norbert
1
Dies ist die einfachste Lösung, außer dass ich meine .pycharmrcim 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 .pycharmrcDatei nicht angegeben werden.
Tchakravarty
1
@SiminJie, PyCharm 2016.3.2 hat eine solche Option aus der Box. Gehen Sie zu: Einstellungen -> Extras -> Terminal. Stellen Sie sicher, dass die Option "Virtualenv aktivieren" aktiviert ist.
Renskiy
44

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:

"cmd.exe" /k ""%CD%\venv\Scripts\activate"" 

Für Windows-Benutzer: Wenn Sie PyCharm in einer virtuellen Umgebung verwenden, können Sie den /KParameter verwenden, umcmd.exe , um die virtuelle Umgebung automatisch festzulegen.

PyCharm 3 oder 4: Settings, Terminal, Default shellund 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>""zu Shell pathund 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""

SaeX
quelle
In diesem Fall %CD%ist das aktuelle Arbeitsverzeichnis, siehe Windows-Shell-Befehl, um den vollständigen Pfad zum aktuellen Verzeichnis zu erhalten?
bad_coder
40

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
Das ist großartig, aber nur, wenn Sie nur eine virtuelle Umgebung für alle Ihre Projekte haben. Die Standard-Shell-Einstellung wird
projektübergreifend verwendet
7

Basierend auf den Antworten von Peter und Experimenten habe ich eine gute "allgemeine Lösung" gefunden, die Folgendes löst:

  • Stellt das Verhalten einer Anmeldeshell wieder her. PyCharm führt normalerweise eine Anmeldeshell aus, aber --rcfile hat dies verhindert. Das Skript verwendet weiterhin --rcfile, versucht jedoch, das INVOCATION-Verhalten einer Anmeldeshell zu emulieren.
  • Entfernt die Notwendigkeit, für jede Umgebung eine RC-Datei zu erstellen
  • Entfernt die Notwendigkeit, die Projekteinstellungen zu aktualisieren, wenn Sie die Umgebung ändern.

Legen Sie dieses Skript irgendwo in einem bin-Verzeichnis ab. ZB ~ / bin / pycharmactivate

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
ACTIVATERC=`cat .idea/workspace.xml | perl -n -e 'print "\$1/bin/activate" if m:option name="SDK_HOME" value="\\\$USER_HOME\\\$(.*)/bin/python":'`
if [ -n "$ACTIVATERC" ] ; then . "$HOME/$ACTIVATERC" ; else echo "Could not find virtualenv from PyCharm" ; fi

Stellen Sie dann den Shell-Pfad von PyCharm auf:

/bin/bash --rcfile ~/bin/pycharmactivate
Chris Cogdon
quelle
1
DANKE! Dies funktionierte für mich nach stundenlangen erfolglosen Versuchen, herauszufinden, wo bashrc- und bash-Profile gestartet werden sollen. Allerdings warf es und Fehler, dass es meine virtuelle Umgebung nicht finden konnte, also habe ich es so geändert, können Sie mir sagen, ob es in Ordnung ist? 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
Zerohedge
@zerohedge: Ihr Skript funktioniert einwandfrei, ist jedoch auf Ihre virtuelle Umgebung "project1" festgelegt. Das obige Skript sollte die automatische Erkennung durchführen, es werden jedoch einige Annahmen getroffen: Das anfängliche Arbeitsverzeichnis ist der Speicherort des Verzeichnisses ".idea". dass sich das Format der Datei workspace.xml nicht wesentlich ändert. Leider sieht es so aus, als ob Pycharm Version 5 in diesem Bereich erhebliche Änderungen vorgenommen hat. Ich kann jetzt nicht wirklich herausfinden, wo sich die Daten befinden.
Chris Cogdon
Nun, es macht mir nichts aus, meine Hinzufügung je nach Projekt zu ändern, da der Shell-Pfad zu auch projektspezifisch ist. Ich konnte nur eine Eingabeaufforderung mit der Aufschrift "bash 3.2 $:" erhalten, bevor ich Ihr Skript gefunden habe, ohne Angabe meines aktuellen Verzeichnisses oder Ähnlichkeit mit meiner Terminal-Eingabeaufforderung. Danke nochmal!
Zerohedge
7

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.

pferate
quelle
11
Wie beantwortet dies das OP? Müssen noch source /path/to/venv/bin/activatemanuell im Terminal.
Freitag,
6

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.

#Stored in ~/.pycharmrc 

ACTIVATERC=$(python -c 'import re
import os
from glob import glob

try:
  #sets Current Working Directory to _the_projects .idea folder
  os.chdir(os.getcwd()+"/.idea") 

  #gets every file in the cwd and sets _the_projects iml file
  for file in glob("*"): 
    if re.match("(.*).iml", file):
      project_iml_file = file

  #gets _the_virtual_env for _the_project
  for line in open(project_iml_file):
    env_name = re.findall("~/(.*)\" jdkType", line.strip())
    # created or changed a virtual_env after project creation? this will be true
    if env_name:
      print env_name[0] + "/bin/activate"
      break

    inherited = re.findall("type=\"inheritedJdk\"", line.strip())
    # set a virtual_env during project creation? this will be true
    if inherited:
      break

  # find _the_virtual_env in misc.xml
  if inherited:
    for line in open("misc.xml").readlines():
      env_at_project_creation = re.findall("\~/(.*)\" project-jdk", line.strip())
      if env_at_project_creation:
        print env_at_project_creation[0] + "/bin/activate"
        break
finally:
  pass
')

if [ "$ACTIVATERC" ] ; then . "$HOME/$ACTIVATERC" ; fi

quelle
Danke, das hat bei mir funktioniert! Musste aber zwei zusätzliche Dinge tun. 1) Fügen Sie source /etc/profileam Anfang der Datei ~ / .pycharmrc (auf Mac Yosemite) hinzu. 2) Bearbeiten Sie in Pycharm Einstellungen> Extras> Terminal> Shell-Pfad zu "/ bin / bash --rcfile ~ / .pycharmrc"
vom
Das ist großartig, danke! Wenn Sie Python 3 verwenden, müssen Sie für die Druckfunktion Klammern setzen. Ich selbst musste "export ~ / .bashrc" vor dieses Skript stellen.
Raphaël Gomès
5

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->Terminalund zu überprüfen Shell integrationund Activate virtualenvOptionen.

Bild

WQY
quelle
Nun, die akzeptierte Antwort zitiert genau dasselbe. Es ist nur so, dass es kein Bild hat.
Vikas Prasad
5

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.batim ScriptsOrdner. Kopieren Sie den vollständigen Pfad und fügen Sie ihn in das Pycharm-Terminal ein. Drücken EnterSie 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.

Die Ausrüstung!

AmiNadimi
quelle
Gute Antwort! Danke dir! Schnelle Frage. Ich habe 3 verschiedene virtuelle Umgebungen, die ich in Anaconda erstellt habe. Gibt es activate.batfür jeden von ihnen einen eigenen?
user1700890
1
@ user1700890 ja! Falls Sie die Umgebungen nicht überschrieben haben, sollten sie separate Ordner und daher separate activate.batDateien haben. Wenn dir die Antwort gefällt,
kannst
Vielen Dank, ich habe gerade überprüft, es sind keine Ordner im ScriptsOrdner. Auch Pycharm beschwert sich, dass activate.bates sich nicht um ein gültiges Python-SDK handelt
user1700890
1
Daher sollten Sie zuerst versuchen, den Ordner für die virtuelle Umgebung zu finden, der bei der Verwendung von Anaconda erstellt wurde, und dann die darin enthaltene activateBatchdatei ausführen . oder wenn es Ihnen möglich ist, erstellen Sie einfach eine neue Umgebung.
AmiNadimi
3

Auf dem Mac ist es PyCharm => Einstellungen ... => Tools => Terminal => Virtualenv aktivieren , das standardmäßig aktiviert sein sollte.

M3RS
quelle
2

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.

source ~/.bashrc
projectdir=${PWD##*/}
source ~/.virtualenvs/$projectdir/bin/activate
user4304103
quelle
2

Nach Peters Antwort hier die Mac-Version der .pycharmrcDatei:

source /etc/profile
source ~/.bash_profile
source  <venv_dir>/bin/activate

Henne

Hendrik Strobelt
quelle
1

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- PATHVariable geladen wird und die Version von Python verwendet wird, die zuerst darin gefunden wird PATH. 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 die PATHVariable.

Hier ist der relevante Teil von mir PATH vor dem Bearbeiten:

C: \ Python27 \;
C: \ Python27 \ Lib \ site-packages \ pip \;
C: \ Python27 \ Scripts;
C: \ Python27 \ Lib \ site-packages \ django \ bin;

... und nach der Bearbeitung PATH(jetzt nur noch 3 Zeilen):

C: [Projektpfad] \ virtualenv-Py2.7_Dj1.7 \ Lib \ site-packages \ pip;
C: [Projektpfad] \ virtualenvs \ virtualenv-Py2.7_Dj1.7 \ Scripts;
C: [Projektpfad] \ virtualenvs \ virtualenv-Py2.7_Dj1.7 \ Lib \ site-packages \ django \ bin;

Um dies zu testen, öffnen Sie ein neues Windows-Terminal ( Start -> eingeben cmdund 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.

user2684827
quelle
1

Dies ist, was ich tue: Erstellen Sie eine Datei "activate_env.bat" (Windows, möglicherweise .sh unter Linux) im Quellcode-Ordner:

/env_yourenvlocate/scripts/activate.bat

und eine andere Datei deactivate_env.bat:

/env_yourenvlocate/scripts/deactivate.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.

E:\Projects\django_study\src>active_env.bat

E:\Projects\django_study\src>../env_django_study/scripts/activate.bat
(env_django_study) E:\Projects\django_study\src>



(env_django_study) E:\Projects\django_study\src>deactive_env.bat

(env_django_study)E:\Projects\django_study\src>../env_django_study/scripts/deactivate.bat
E:\Projects\django_study\src>
Phiree
quelle
1

Wenn Sie Pycharm 2016.1.4v und höher verwenden, sollten Sie "default path" /K "<path-to-your-activate.bat>" Anführungszeichen nicht vergessen

Koblikov Mihail
quelle
1

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.

Geben Sie hier die Bildbeschreibung ein

Geben Sie hier die Bildbeschreibung ein

Khachatur
quelle
0

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 workonBefehl ist dann über die pycharm-Konsole verfügbar und zeigt Ihnen die verfügbaren virtuellen Umgebungen an:

kevin@debian:~/Development/django-tutorial$ workon
django-tutorial
FlaskHF
SQLAlchemy
themarkdownapp
kevin@debian:~/Development/django-tutorial$ workon django-tutorial
(django-tutorial)kevin@debian:~/Development/django-tutorial$ 
ksaylor11
quelle
1
Dazu muss ich jedoch jedes Mal, wenn ich das Terminal öffne, das Workon-Skript aktivieren und wissen, welche virtuelle Umgebung Pycharm derzeit zum Ausführen des Programms verwendet. Beides wollte ich explizit vermeiden.
Chris Cogdon
@ ChrisCogdon ah, ich sehe
ksaylor11
0

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:

  • Ein globales Skript, das den Hook aufruft
  • Ein Hook-Skript pro PyCharm-Projekt (nicht obligatorisch)

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:

if [ -r ".pycharm/term-activate" ]; then
   echo "Terminal activation hook detected."
   echo "Loading Bash profile..."
   source ~/.bash_profile
   echo "Activating terminal hook..."
   source ".pycharm/term-activate"
   source activate $PYCHARM_VENV
fi

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:

export PYCHARM_VENV=<your-virtual-env-name>

Sie können Ihre Hooks natürlich um alles erweitern, was Sie in der Terminalumgebung Ihres speziellen PyCharm-Projekts nützlich finden.

Tilusnet
quelle
0

Stellen Sie in virtuellen Umgebungen mit conda unter Windows sicher, dass Ihre Batchdatei NICHT benannt ist, activate.batda dies zu einem Konflikt mit dem activateBefehl conda führt , der zu einem rekursiven Aufruf der Batchdatei führt.

Was für mich funktioniert, ist der folgende Shell-Pfad:

"cmd.exe" /k ""C:\FullPathToYourProject\activate-env.bat""

Und in der Datei activate-env.bat:

call activate myenvname
Erwin Mayer
quelle
0

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 .bashrcoder Folgendes hinzuzufügen .bash_profile:

if [ -d "./venv" ]; then
    source ./venv/bin/activate
fi

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.

Golmschenk
quelle
0

PyCharm 4.5.4

Erstellen Sie eine Datei .pycharmrc in Ihrem Home-Ordner mit den folgenden Inhalten

source ~/.bashrc
source ~/pycharmvenv/bin/activate

Verwenden Sie Ihren virtualenv-Pfad als letzten Parameter.

Stellen Sie dann die Shell-Einstellungen-> Projekteinstellungen-> Shell-Pfad auf ein

/bin/bash --rcfile ~/.pycharmrc

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.batmuss 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.

(virt_env) D:\Projects\src>deactivate
D:\Projects\src>
Oleg Novikov
quelle
"Ich weiß nicht warum, aber es funktioniert nicht für mich" - vielleicht weil diese Lösung für Linux / Mac gut ist - nicht für Windows? ;)
Nir Alfasi
0

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 .pycharmrcDatei wie in Peter Gibsons Antwort beschrieben. Fügen Sie die .pycharmrcDatei mit folgendem Inhalt zu Ihrem Home-Verzeichnis hinzu:

source ~/.bashrc
source ~/path_to_virtualenv/bin/activate

Fügen Sie unter Pycharm- Datei> Einstellungen> Extras > Terminal den folgenden 'Shell-Pfad' hinzu:

"C:/Windows/system32/bash.exe" -c "bash --rcfile ~/.pycharmrc"


Projektspezifische virtuelle Umgebung

Der Pfad zu Ihrer virtuellen Umgebung .pycharmrcmuss 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 .pycharmrcsieht meine Datei folgendermaßen aus:

Quelle ~ / .bashrc
 Quelle ~ / pycharmvenv / bin / aktivieren #absoluten Pfad
source ./venv/bin/activate #relative path


BONUS: Öffnet automatisch den SSH-Tunnel, um virtualenv als Projektinterpreter zu verbinden

Fügen Sie Ihrer .pycharmrcDatei Folgendes hinzu :

if [ $(ps -aux | grep -c 'ssh') -lt 2 ]; then
    sudo service ssh start 
fi

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:

+ -------------------------- + ---------------------- ----------- + ------- + ---- +
| Name: | <Dolmetschername> | | |
| Wählen Sie | 'SSH-Anmeldeinformationen' | | |
| Gastgeber: | 127.0.0.1 | Hafen: | 22 |
| Benutzer: | <Linux-Benutzername> | | |
| Authentifizierungstyp: | 'Passwort' | | |
| Passwort: | <Linux-Passwort> | | |
| Python-Interpreter-Pfad: | <Linux-Pfad zu Ihrer virtuellen Umgebung> | | |
| Pfad der Python-Helfer: | <Automatisch einstellen> | | |
+ -------------------------- + ---------------------- ----------- + ------- + ---- +

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.

Robbe
quelle
0

Eine Option haben Sie, wenn Sie das Terminal> Ausführen> Debuggen> Konfigurationen bearbeiten eingeben Geben Sie hier die Bildbeschreibung ein

Geben Sie hier die Bildbeschreibung ein

Wählen Sie die entsprechende Konditionsumgebung aus. Auch wenn Sie ein neues Projekt erstellen, werden Sie aufgefordert, diesen Speicherort zu konfigurieren.

Johndpope
quelle