DEV Community

whchi
whchi

Posted on

Setup FastAPI Debugger in PyCharm With Docker

The key is running only 1 worker when start uvicorn

Content

For local Python app development, use a Docker container for non-application services like databases, Redis, etc. If all of your services are running in containers, you SHOULD use remote debug.

If all of your services are run in container you SHOULD use remote debug

0. Dockerfile

Here, I will use docker-compose as example

  • docker-compose.debug.yml
version: "3.8"
services:
  pgsql:
    image: postgres:13
    restart: unless-stopped
    environment:
        - POSTGRES_HOST_AUTH_METHOD=trust
        - POSTGRES_USER=root
        - POSTGRES_PASSWORD=
        - POSTGRES_DB=postgres
    volumes:
      - postgres:/var/lib/postgresql/data
    ports:
      - '5432:5432'
    privileged: true
volumes:
  postgres:
Enter fullscreen mode Exit fullscreen mode

1. Setup Run/Debug configurations

It's located in the top-right corner.
setup

2. Setup local running configuration

Choose "FastAPI" for the running configuration.

remember to set --workers=1

setup

3. Setup container running configuration

Choose Docker Compose for your configuration.

setup

4. Add local configuration

Under "Before launch" settings, add your local running configuration.

setup

Complete setup
setup

5. Start debugger as a happy debugger

setup

Top comments (0)