Ich möchte aus mehreren Gründen ein Himbeer-Python-Skript von der Windows-Seite aus entwickeln: Ich möchte den gesamten Code (sicherer) auf meinem Computer aufbewahren, falls ich das RPi brate / ein anderes Projekt versuche / den Pi neu installiere. Auch mein Hauptcomputer mit den beiden Bildschirmen ist unter Windows und ich finde, dass die Verwendung von vim über SSH (mit Kitt) keine gute Möglichkeit ist (persönliche Meinung, aber ich finde es nicht ergonomisch).
Ich habe Folgendes gefunden: http://visualgdb.com/tutorials/raspberry/ , mit dem ich eine C + -Anwendung für die Himbeere entwickeln, remote kompilieren und so weiter kann.
Gibt es etwas Äquivalentes für die Python-Skriptentwicklung?
Was mir grundsätzlich erlauben würde:
- In Python auf meinen Fenstern zu entwickeln
- Klicken Sie auf die Schaltfläche "Ausführen" und lassen Sie die Skripte auf dem RPi bereitstellen und starten
- (Traumlösung) Haltepunkte setzen und debuggen?
Antworten:
Schauen Sie sich PyCharm an . Ich bin seit Jahren ein zufrieden zahlender Kunde, es ist jedoch auch eine kostenlose Community-Edition erhältlich.
Es gibt ein File-Watcher-Plugin , das Dateien auf einen Remote-Computer (Ihr RPi) kopiert. Und es hat die Fähigkeit, Remote-Debugging durchzuführen .
Debugging-Module verkabeln
In Bezug auf das Einrichten des PyCharm-Remote-Debuggens müssen Sie zunächst eine Verbindung herstellen
pycharm-debug.egg
. Ich bin auf einem Mac und in meinem Fall ist die Datei bei/Applications/PyCharm.app/Contents/debug-eggs/pycharm-debug.egg
. Ich habe es mit dem folgenden Befehl auf mein RPi kopiert:Diese Datei muss sich irgendwo in Pythons Pfad befinden, damit sie gefunden werden kann. Ich suchte nach einem geeigneten Ort, indem ich Folgendes ausführte:
Von dieser Liste halte ich
/usr/local/lib/python2.7/dist-packages/
es für am besten geeignet (weil es in ist/usr/local
), also:Und wir brauchen eine
.pth
Datei, um sie in den Pfad einzufügen:Überprüfen Sie abschließend das Setup:
Cool, die Debugging-Module sind verkabelt. Weiter zum Debuggen eines Skripts. Ich werde das Listener-Skript debuggen, das ich für diesen Beitrag geschrieben habe .
PyCharm-Setup
Gehen Sie in PyCharm zu
Run -> Edit Configurations...
Klicken Sie auf das
+
Schild oben links und wählen SiePython Remote Debug
. Geben Sie ihm einfach einen Namenremote debug
und Sie sind hier fertig. Hit ok.Klicken
Run -> Debug 'remote debug'
Sie nun auf und Sie sehen eine Meldung in der Debug-Konsole.Use the following code to connect to the debugger
Kopieren Sie die Zeilen, in meinem Fall sahen sie folgendermaßen aus:
Fügen Sie sie oben in die Datei ein, die Sie debuggen, und speichern Sie die Datei.
Ohne das Dateisynchronisierungs-Plugin zu verwenden, kopiere ich die Dateien mit rsync:
Beachten Sie nun die Konfiguration sagt
localhost
. Der beste Weg, um den Debugger zu verkabeln, ist die Verwendung der SSH-Portweiterleitungsfunktionen, damit sich das RPi auf Ihrem Schreibtisch oder auf der ganzen Welt befindet und auf die gleiche Weise funktioniert. SSH in das RPi mit diesem Befehl, um den Remote-Port mit dem lokalen Port zu verbinden:PyCharm sollte Ihnen eine Nachricht anzeigen
Waiting for process connection...
Führen Sie auf dem RPi das Programm aus, und der Debugger wird aktiviert. Standardmäßig wird er in der Zeile direkt nach der pydevd-Zeile angehalten, die Sie in der Konfiguration ändern können, wenn Sie dies wünschen.
Und an diesem Punkt debuggen Sie aus der Ferne! :) :)
quelle
Eine Möglichkeit besteht darin, Ihre Python-Skripte einfach auf einem Netzlaufwerk zu speichern.
Zum Beispiel speichere ich meinen gesamten Code auf einem Laptop (entsprechend gesichert) in einem Verzeichnis namens Code. Ich exportiere das Verzeichnis mit NFS in das Netzwerk.
Auf dem Pi ist das NFS-Verzeichnis des Laptops / code zugeordnet.
Dadurch kann ich auf dem Laptop (oder Pi) entwickeln und das Skript auf dem Pi ausführen, indem ich einfach auf den Pi ssh'ing und /code/script.py verwende.
Im Allgemeinen finde ich, dass Python mit seiner Rückverfolgung genug über meine Fehler preisgibt, sodass ich keine zusätzlichen Debugging-Tools benötige.
quelle