Skip to content Skip to sidebar Skip to footer

How To Remote Debug In Pycharm

The issue I'm facing right now: I deploy Python code on a remote host via SSH the scripts are passed some arguments and must be ran by a specific user the PyCharm run/debug config

Solution 1:

If you want an easy and more flexible way to get into the PyCharm debugger, rather than necessarily having a one-click "play" button in PyCharm, you can use the debug server functionality. I've used this in situations where running some Python code isn't as simple as running python ....

See the Remote debug with a Python Debug Server docs for more details, but here's a rough summary of how it works:

  1. Upload & install remote debugging helper egg on your server (On OSX, these are found under /Applications/PyCharm.app/Contents/debug-eggs)
  2. Setup remote debug server run configuration: click on the drop-down run configuration menu, select Edit configurations..., hit the + button, choose Python remote debug.
    • The details entered here (somewhat confusingly) tell the remote server running the Python script how to connect to your laptop's PyCharm instance.
    • set Local host name to your laptop's IP address
    • set port to any free port that you can use on your laptop (e.g. 8888)
  3. Now follow the remaining instructions in that dialog box: copy-paste the import and pydevd.settrace(...) statements into your code, specifically where you want your code to "hit a breakpoint". This is basically the PyCharm equivalent of import pdb; pdb.set_trace(). Make sure the changed code is sync'ed to your server.
  4. Hit the bug button (next to play; this starts the PyCharm debug server), and run your Python script just like you'd normally do, under whatever user, environment etc. When the breakpoint is hit, PyCharm should drop into debug mode.

Solution 2:

I have this (finally) working with ssh RemoteForward open, like so:

ssh -R 5678:localhost:5678user@<remotehost>

Then start the script in this ssh session. The python script host must connect to localhost:5678 and of course your local pycharm debugger must listen to 5678 (or whatever port you choose)

Post a Comment for "How To Remote Debug In Pycharm"