Die Grundlagen:
Ich starte pycharm lokal mit einem "remote debugging" Profil und es sieht gut aus.
%Vor% Auf dem Remote-Server habe ich den entsprechenden Aufruf an pycharm-debug.egg in __init__.py
gestellt (aber ich habe versucht, es auch an anderen Stellen im Code zu platzieren).
Ich starte den Remote-Server wie folgt python manage.py runserver <remote domain name>:8000
und auf dem lokalen pycharm IDE / Debugger sehe ich:
Danach sitzen die Dinge einfach da ... Ich bekomme keine Rückmeldung darüber, wo die Ausführung ist und keine Fähigkeit in der pycharm IDE, irgendetwas "zu starten / fortzusetzen / auszuführen".
Auf dem Remote-Server, wenn ich <ctrl-c>
it, sehe ich:
Meine Vermutung ist, dass alles richtig verbunden ist, aber ich sehe keinen Weg, alles in Gang zu bringen. Ich habe "suspend = False", also hätte ich erwartet, dass es startet. Wenn ich versuche, eine Seite gegen den entfernten Server zu öffnen, bekomme ich "nicht verbunden", so dass der Webserver offensichtlich noch nicht läuft (wenn curl http://<remote server domain>:8000
Ich bekomme curl: (7) Failed connect to <remote server domain>:8000; Connection refused
). Ohne Remote-Debugging funktioniert das problemlos auf meinem lokalen Dev-Computer oder auf dem Remote-Server.
Was mache ich falsch? :) Danke!
Details:
Auf dem entfernten Server, auf dem der Code / Prozess läuft, den ich in __init__.py
debuggen möchte, habe ich:
Lokale pycharm IDE zeigt dies:
%Vor%Weitere Hinweise:
Ich bin ratlos, wie ich irgendetwas "stoßen" kann, damit die Dinge laufen und ich kann mit dem Debuggen beginnen.
Danke, dass du versucht hast zu helfen.
Für zukünftige Googler ... konnte ich Remote-Debugging funktionieren, aber nicht über diese Methode. Ich habe gerade eine ähnliche Frage in den Foren von pycharm beantwortet und dachte, ich würde diese Frage mit der Methode, die für mich funktioniert hat, aktualisieren.
/usr/local/bin/python
). /home/<username>/.pycharm_helpers
- ich kann mich nicht erinnern, ob das automatisch erstellt wurde oder nicht). Gehe zu "Run / Edit Configurations ..." und füge einen "Django Server" hinzu (Pluszeichen oben links im Dialog).
DJANGO_SETTINGS_MODULE = <app>/settings.py
). Für meine Zwecke musste ich auch HTTPS=1
setzen. /home/<username>/<xyz>/<appdir>
). Legen Sie die Pfadzuordnungen von Ihrem lokalen Verzeichnis zum entfernten Verzeichnis fest (d. h. /Users/JohnQ/<xyz>/<appdir>=/home/<username>/<xyz>/<appdir>
).
Da ich andere Server von Drittanbietern (wie FB usw.) brauchte, um diesen Server mit HTTPS zu erreichen, benutzte ich "Stunnel" auf meinem Remote-Server - es war ziemlich einfach einzurichten / p>
Außerdem sollten Sie eine Bereitstellungsbestätigung einrichten, damit Sie einfach mit der rechten Maustaste klicken können, um neuere Versionen Ihrer Datei hochzuladen (unter "Tools / Deployment / Configurations ...").
/
" für mich. Nachdem Sie es erstellt haben, sollten Sie nur in der Lage sein, mit der rechten Maustaste auf eine Datei / ein Verzeichnis zu klicken und "Upload to ..." zu wählen. Beachten Sie, dass ich für einen anfänglichen Upload nur eine tar.gz auf meinen Server hochgeladen habe, um Zeit zu sparen, und ich nur über die Deployment-Konfiguration für die Änderungen hochladen, die ich während des Debugging mache. Ich habe es glücklich für Remote-Debugging für ~ 4 mos verwendet, so funktioniert es gut.
Ich hatte die gleichen Symptome und "reparierte" sie, indem ich alle Python Ausnahme Breakpoints im View Breakpoints Fenster deaktivierte.
Ich habe den suspend=False
-Parameter weggelassen.
Die Dokumente sagen @param suspend: whether a breakpoint should be emulated as soon as this function is called.
.
Wenn Sie es dort lassen, verbindet es sich, ohne den Haltepunkt zu berücksichtigen. Sie sollten dann grundsätzlich ein anderes pydevd.settrace('ip.addr')
- & gt; notice no suspend
Tags und Links python django remote-debugging