Ich bin neu bei PyCharm. Ich benutze IDLE schon lange.
Es ist sehr praktisch, Python-Objekte nach der Skriptausführung in IDLE zu verwenden. Gibt es eine Möglichkeit, Skriptobjekte nach ihrer Ausführung mit einer interaktiven Python-Shell mit PyCharm zu verwenden?
Zum Beispiel haben wir ein 'Test'-Projekt mit einer Datei' test.py ':
a = '123'
print a
Nach der Ausführung können wir das Ergebnis erhalten:
123
Process finished with exit code 0
Wie kann ich String 'a' mit interaktiver Shell verwenden?
python
pycharm
python-idle
user1941407
quelle
quelle
Antworten:
Integrierte Python-Shell für die aktuelle Debugging-Sitzung
Dadurch wird eine Python-Shell aktiviert (beachten Sie das Grün
>>>
auf dem Screenshot), in der Sie auf alle Variablen im aktuellen Bereich zugreifen und alles tun können, was Sie normalerweise in der Python-Shell tun.Das Fenster Ausdruck auswerten
Als bequemere Alternative: Wenn Sie nur einige Variablen untersuchen, auf Mitglieder zugreifen oder Methoden für ein Objekt im Bereich aufrufen müssen, wählen Sie nach Erreichen eines Haltepunkts einen Ausdruck im aktuellen Bereich aus, klicken Sie mit der rechten Maustaste -> Ausdruck auswerten (oder verwenden Sie) Bearbeiten Sie den im Menü unter Run→ Evaluate Expression...) angezeigten Hotkey nach Bedarf. Sie können einen beliebigen Python-Ausdruck eingeben, wobei die automatische Vervollständigung verfügbar ist. Drücken Sie anschließend die Eingabetaste (oder klicken Sie auf Auswerten ), um das Ergebnis zu überprüfen.
Es werden mehrere und mehrzeilige Ausdrücke unterstützt: Um eine mehrzeilige Version des Dialogfelds "Überprüfen" zu erhalten, klicken Sie auf den Codefragmentmodus oder wählen Sie mehr als eine Codezeile im Editor aus und werten Sie den Ausdruck aus. Sie können vorhandenen Variablen Werte zuweisen (neue können nicht definiert werden) und ganze Codestücke ausführen.
Bewegen Sie den Mauszeiger über Variablen
Um den Wert einer Variablen anzuzeigen, nachdem Sie im Debug-Modus einen Haltepunkt erreicht haben, bewegen Sie den Mauszeiger über die Variable (1-2 Sekunden). Der Wert wird in einem Tooltip angezeigt.
Der Hinweis enthält ein ➕Symbol. Wenn Sie darauf klicken, wird der Inspektor in einem Popup geöffnet.
Für die Variablen im Gültigkeitsbereich wird der Inspektor im unteren Bereich unter Debug > Debugger angezeigt .
Bei
pandas
Datenrahmen wird im Bereich "Variableninspektor" oder im Hover-Popup ein Link " Ansicht als Datenrahmen" angezeigt. Wenn Sie auf den Link klicken, wird der Datenrahmen im Bereich " Datenansicht" als Tabelle angezeigt .Aktualisieren
In den neueren Pycharm-Versionen (2019+) sieht das Interpreter-Symbol jetzt anders aus:
Auch in der Unittest / Pytest-Debugging-Benutzeroberfläche wird das Symbol zuerst in der Symbolleiste platziert.
quelle
Ich fand frühere Antworten von Piga-fetta, Games Brainiac und Kobejohn nützlich, aber nicht befriedigend . Daher biete ich hier eine dritte Option an:
Laden des ausgewählten Codes in die Konsole (mein Vorschlag)
Verwenden Sie Shift+ Alt+ E, um den ausgewählten Code oder die Zeile, in der sich der Cursor in der Konsole befindet, zu laden und sofort auszuführen. Dies hat auch einige Nachteile:
Aber im Gegenzug erhalten wir eine Funktion, die besser ist als IDLE (meiner Meinung nach): Sie können Ihren Code einzeln auswählen.
Lesen Sie hier darüber .
Verwenden von Haltepunkten und Auswerten des Ausdrucks ( Alt- F8) (vorgeschlagen von Piga-fetta)
Dies ist sehr nützlich in großen Anwendungen, in denen wir an bestimmten Stellen im Code debuggen müssen, aber nicht so nützlich für die interaktive Codierung. Das wollen wir also nicht.
Verwenden von Tools -> Python Console ausführen (vorgeschlagen von Games Brainiac und kobejohn)
Dies ist gewünscht, aber etwas umständlich, insbesondere wenn sich das Modul, das wir ausführen möchten, nicht im Stammverzeichnis des Projekts befindet.
quelle
Sie können die Python-Konsole einfach in PyCharm 2 und PyCharm 3 verwenden. Sie können sie auch einfach importieren, da Ihr Projektstamm bereits zu Ihrem hinzugefügt wurde
PYTHONPATH
:Lassen Sie mich anhand einiger Screenshots demonstrieren:
1. Erstellen einer
console.py
Datei im Stammverzeichnis2. Öffnen Sie die Python-Konsole in PyCharm
3. Variable aus
console.py
Datei importierenUnd dort haben Sie Ihre Variable erfolgreich importiert.
quelle
Lassen Sie die Befehlszeile nach der Ausführung offen
Für alle, die immer noch dieses Problem haben: Gehen Sie zum Menü Ausführen / Debuggen, wählen Sie Konfiguration bearbeiten, aktivieren Sie das Kontrollkästchen 'Befehlszeile anzeigen', damit Sie an der Eingabeaufforderung >>> Parameter in die Konsole eingeben und Ihre Funktion testen können.
Globale Konfiguration
Um diese Änderung auf alle Ihre .py-Dateien anzuwenden (da dieses Kontrollkästchen nur für die aktuelle Datei gilt, an der Sie arbeiten), gehen Sie zu: Konfiguration bearbeiten. Im Popup sehen Sie links einen Menübaum. Wählen Sie Standard , dann Python, und aktivieren Sie das Kontrollkästchen "Befehlszeile anzeigen". Dies macht es zur Standardeinstellung, wenn Sie eine .py-Datei öffnen (diese Funktion sollte wirklich standardmäßig aktiviert sein!).
quelle
Show command line afterwards
der Option ist jetztRun with Python console
Die beste Antwort fand ich in: Interaktion mit dem Programm nach der Ausführung
Zitiere die Antwort unten:
++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++
Aus der Ausgabe von Python --help:
-i: Interaktiv nach dem Ausführen des Skripts prüfen; erzwingt eine Eingabeaufforderung, auch wenn stdin kein Terminal zu sein scheint; auch PYTHONINSPECT = x
Um die Interpreter-Option in PyCharm festzulegen, gehen Sie zu Ausführen | Konfiguration bearbeiten
++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++
Ich habe es versucht und es funktioniert - verwenden Sie einfach "-i" (ohne Anführungszeichen) als "Interpreter-Optionen". Beachten Sie, dass wenn Sie nur die Standardeinstellungen in den Ausführungs- / Debug-Konfigurationen ändern, diese möglicherweise nicht sofort für Skripte wirksam werden, die Sie bereits zuvor ausgeführt haben. Sie müssen die Konfigurationen dieser Skripte einzeln bearbeiten.
quelle
Oben nicht erwähnt:
Wenn Sie während der Ausführung eine Variable verwenden möchten , z. B. wenn Sie einen Haltepunkt festlegen und dann mit dem Aufrufen von Funktionen für Objekte im aktuellen Bereich experimentieren, verfügt PyCharm über ein Popup-Fenster " Ausdruck auswerten (Alt-F8) ".
In diesem Fenster können Sie Funktionen aufrufen und die Ausgabe anzeigen. Die Code-Vervollständigung funktioniert auch. Dieses Fenster hat auch einen "Codefragment-Modus". Ich untersuche nur, was es bedeutet. Können Sie hier temporäre Funktionen definieren?
(Ich verwende PyCharm 3.0.1 Community Edition)
quelle
*aktualisieren
Von Ihrem Update, ich denke , diese Frage SO sieht mindestens eine perfekte Antwort .
Lassen Sie es mich hier etwas mehr Schritt für Schritt schreiben als die Antwort, die ich verlinkt habe.
import myscript
(ohne .py) (wenn Sie einen Kurznamen möchten, verwenden Sieimport myscript as m
main()
wenn Sie einenif __name__ == '__main__'
Block haben)a
ist in verfügbarmyscript.a
myscript = reload(myscript)
*Original
In PyCharm 3.0 können Sie Folgendes tun:
Ist es das, wonach du suchst? Wenn nicht, probieren Sie sie bitte aus und lassen Sie mich wissen, wie sich das von dem unterscheidet, was Sie wollen.
quelle
Eine weitere Alternative besteht darin, einfach denselben Befehl zu verwenden, den Spyder verwendet, um ein Skript "interaktiv" auszuführen:
>>> runfile('myscript.py')
Anschließend können Sie den Variablen-Explorer für die interaktive Konsole öffnen und das Skript erneut ausführen, indem Sie den obigen Befehl erneut ausführen. Sehr ähnlich dem Spyder-Workflow. Bei allen anderen oben genannten Methoden wird eine interaktive Konsolenaufforderung angezeigt, jedoch nicht die Option zum Öffnen eines Variablen-Explorers. Wenn Sie also nach einer solchen Funktion suchen, versuchen Sie es oben.
quelle
Zusätzlich zu dem Vorschlag, den ich zu Ramkins 'Antwort gemacht habe , können Sie die Datei direkt mit der Konsole ausführen, indem Sie mit der rechten Maustaste in die Datei klicken und auswählen
Run File in Console
.quelle