Skip to content

Docker Remote Debugging

To connect to python remote interpreter inside docker, you have to make sure first, that Pycharm is aware of your docker.

Go to Settings > Build, Execution, Deployment > Docker. If you are on linux, you can use docker directly using its socket [unix:///var/run/docker.sock]{.title-ref}, if you are on Windows or Mac, make sure that you have docker-machine installed, then you can simply Import credentials from Docker Machine.

image

Configure Remote Python Interpreter

This repository comes with already prepared \"Run/Debug Configurations\" for docker.

image

But as you can see, at the beginning there is something wrong with them. They have red X on django icon, and they cannot be used, without configuring remote python interpreter. To do that, you have to go to Settings > Build, Execution, Deployment first.

Next, you have to add new remote python interpreter, based on already tested deployment settings. Go to Settings > Project > Project Interpreter. Click on the cog icon, and click Add Remote.

image

Switch to Docker Compose and select [local.yml]{.title-ref} file from directory of your project, next set Service name to [django]{.title-ref}

image

Having that, click OK. Close Settings panel, and wait few seconds...

image

After few seconds, all Run/Debug Configurations should be ready to use.

image

Things you can do with provided configuration:

  • run and debug python code

image

  • run and debug tests

image

image

  • run and debug migrations or different django management commands

image

  • and many others..

Known issues

  • Pycharm hangs on \"Connecting to Debugger\"

image

This might be fault of your firewall. Take a look on this ticket - https://youtrack.jetbrains.com/issue/PY-18913

  • Modified files in [.idea]{.title-ref} directory

Most of the files from [.idea/]{.title-ref} were added to [.gitignore]{.title-ref} with a few exceptions, which were made, to provide \"ready to go\" configuration. After adding remote interpreter some of these files are altered by PyCharm:

image

In theory you can remove them from repository, but then, other people will lose a ability to initialize a project from provided configurations as you did. To get rid of this annoying state, you can run command:

git update-index --assume-unchanged sad_pulm.iml