Отладка FastAPI VSCode в новом докер-контейнере AlpinePython

Программы на Python
Anonymous
Отладка FastAPI VSCode в новом докер-контейнере Alpine

Сообщение Anonymous »

Мне пришлось обновить базовый образ для моего бэкэнда Python с устаревшего образа FastAPI на более новую версию Alpine. Dockerfile ниже...
Однако теперь я не могу восстановить отладчик VSCode, потому что:
cd /fastapi ; /usr/bin/env /usr/bin/python3 /root/.vscode-server/extensions/ms-python.debugpy-2024.10.0/bundled/libs/debugpy/adapter/../../deb
ugpy/launcher 53213 -- -m uvicorn main:app --reload --port 8001
/usr/bin/python3: No module named uvicorn

launch.json
"configurations": [
{
"name": "Python Debugger: FastAPI",
"type": "debugpy",
"request": "launch",
"module": "uvicorn",
"args": [
"main:app",
"--reload",
"--port",
"8001"
],
"jinja": true
},

Файл Docker
FROM python:3.11.10-alpine3.20

COPY ./fastapi/app /app
COPY ./fastapi/requirements.txt /requirements.txt
COPY ./fastapi/start-reload.sh /start-reload.sh
COPY ./docker/memcached.sh /memcached.sh

USER root

ENV HOSTNAME fastapi
ENV PYTHONPATH '/:/app'
ENV IS_PROD 1
ENV TZ=Europe/Berlin

RUN apk add --no-cache mariadb-connector-c-dev memcached &&\
apk add --no-cache --virtual .build-deps \
build-base \
mariadb-dev &&\
apk add php83 &&\
apk add gcc musl-dev &&\
apk del .build-deps

RUN apk add py3-pip && \
pip install --upgrade pip && \
pip install -r /requirements.txt && \
echo 'asdf'

# CLEANUP

RUN apk cache clean &&\
apk del gcc musl-dev

CMD ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8000"]

requirements.txt
fastapi[standard]
debugpy
pydantic
pytz
requests
python-dateutil
numpy
scipy
pymemcache
mysqlclient

Я также пытался подключиться к работающей конечной точке с помощью debugpy Attach, но тоже не смог заставить это работать...
Я не понимаю, почему модуль отсутствует, ведь он установлен
/fastapi # pip list | grep uvicorn
uvicorn 0.30.6


Подробнее здесь: https://stackoverflow.com/questions/790 ... -container

Вернуться в «Python»