2016-03-02 19 views
5

Problem mam stoi teraz:Jak zdalnego debugowania w pycharm

  • wdrożyć kodu Pythona na zdalnym hoście przez SSH
  • skrypty są przekazywane jakieś argumenty i musi być prowadzony przez specyficzny użytkownik
  • konfiguracja przebieg/debugowanie PyCharm, którą tworzę łączy się przez SSH przez innego użytkownika (nie można połączyć się z użytkownikiem, który faktycznie uruchamia skrypty)
  • Chcę zdalnie debugować ten kod za pomocą PyCharm ... I udało się zrobić całą konfigurację, po prostu dostaję błędy uprawnień.

Czy są jakieś sposoby na uruchamianie/debugowanie skryptów jako określonego użytkownika (np. Sudo su - user)?

Przeczytałem o określeniu niektórych opcji interpretera Pythona w konfiguracji zdalnego/debugowania PyCharm, ale nie udało się uzyskać działającego rozwiązania.

Odpowiedz

8

Jeśli chcesz mieć łatwy i bardziej elastyczny sposób na uzyskanie dostępu do debuggera PyCharm, zamiast koniecznego posiadania przycisku "play" w trybie jednego kliknięcia w PyCharm, możesz użyć funkcji debugowania serwera . Używałem tego w sytuacjach, w których uruchomienie kodu Pythona nie jest tak proste jak uruchomienie python ....

Zobacz the Remote debug with a Python Debug Server docs więcej szczegółów, ale tu jest szorstki podsumowanie jak to działa:

  1. Prześlij & zainstalować zdalne debugowanie pomocnika jajko na serwerze (na OSX, są one znaleźć pod /Applications/PyCharm.app/Contents/debug-eggs)
  2. Konfiguracja konfiguracja zdalnego konfigurowania serwera debugowania: kliknij menu konfiguracji rozwijanej, wybierz opcję Edit configurations..., naciśnij przycisk +, wybierz opcję Python remote debug.
    • Wprowadzone tutaj szczegóły (nieco myląco) mówią serwerowi zdalnego uruchamiając skrypt Python, jak połączyć się z instancją PyCharm komputera przenośnego.
    • ustawić Local host name do adresu IP Twojego laptopa
    • ustawiony port do wolnego portu, które można wykorzystać na komputerze przenośnym (np 8888)
  3. Teraz wykonaj pozostałe instrukcje w tym oknie dialogowym: kopiuj-wklej import i pydevd.settrace(...) oświadczenia do kodu, w szczególności w miejscu, w którym kod ma "trafić punkt przerwania". Jest to zasadniczo odpowiednik PyCharm z import pdb; pdb.set_trace(). Upewnij się, że zmieniony kod jest zsynchronizowany z serwerem.
  4. Uderz w przycisk błędu (obok gry, uruchamia serwer debugowania PyCharm) i uruchamia skrypt Python dokładnie tak, jak robisz to normalnie, pod dowolnym użytkownikiem, otoczeniem itp. Kiedy punkt krytyczny zostanie trafiony, PyCharm powinien wpaść w Tryb debugowania.
+0

Dzięki! Próbuję ustawić to jednak w kroku 2), gdzie mam skonfigurować konfigurację serwera zdalnego - jak to zrobić, jeśli łączę się ze zdalnym węzłem przez tunel SSH? Krótko mówiąc, kiedy uruchamiam zdalny kod przy użyciu "python

Powiązane problemy