Me cuesta adjuntar un depurador con Pycharm con una configuración de fastAPI docker-compose
docker-compose
version: '3.8' services: api: build: . volumes: - .:/app ports: - "8080:80" environment: - DATABASE_URL=postgresql://test_user:test_pwd@db:5432/test_db depends_on: - db db: image: postgres:13-alpine volumes: - postgres_data:/var/lib/postgres/data/ ports: - "5432:5432" environment: - POSTGRES_USER=test_user - POSTGRES_PASSWORD=test_pwd - POSTGRES_DB=test_db volumes: postgres_data:archivo acoplable:
FROM tiangolo/uvicorn-gunicorn:python3.9 COPY requirements.txt /tmp/requirements.txt RUN pip install --no-cache-dir -r /tmp/requirements.txt COPY ./app /app/app CMD [ "/start-reload.sh" ]Configuré un intérprete remoto para docker-compose en pycharm Cuando inicio la aplicación, funciona pero el punto de interrupción no
Intento configurar las configuraciones de python: 
el inicio de la aplicación pero el punto de interrupción tampoco
Si tiene alguna sugerencia? gracias
Esto funcionó para mí (de https://github.com/tiangolo/fastapi/issues/23#issuecomment-571602787 ):
Lo siguiente funciona con el depurador pycharm con recarga ejecutándose en un intérprete remoto docker-compose
from fastapi import FastAPI import uvicorn app = FastAPI() @app.get("/") def root(): a = "a" b = "b" + a return {"hello world": b} if __name__ == '__main__': uvicorn.run("main:app", host='0.0.0.0', port=8000, reload=True)Observe que es "principal: aplicación" y no aplicación; de lo contrario, obtendrá un error: ADVERTENCIA: debe pasar la aplicación como una cadena de importación para habilitar 'recargar' o 'trabajadores'.