Проект FastAPI и первый GET
Уроки курсаПроект FastAPI и первый GET
В прошлом уроке мы разобрали, как JSON оформляется в теле HTTP-ответа и что означает заголовок Content-Type: application/json. Теперь сделаем шаг от чтения чужих ответов к написанию собственного: создадим проект FastAPI, напишем первый маршрут и получим рабочий ответ 200 с JSON.
Папка проекта, venv и установка пакетов
Прежде всего нужна отдельная папка для проекта. Создайте папку fastapi-demo и откройте в ней терминал.
Виртуальное окружение — это вложенная папка со своим Python-интерпретатором и набором пакетов. Всё, что вы устанавливаете внутри окружения, не попадает в системный Python и не конфликтует с другими проектами. Создаётся одной командой:
python -m venv venv
В папке fastapi-demo появится подпапка venv. Теперь нужно установить в это окружение два пакета: FastAPI и Uvicorn.
FastAPI связывает входящие HTTP-запросы с Python-функциями.
Uvicorn — это сервер: он принимает сетевые соединения и передаёт их приложению.
Вместо того чтобы активировать окружение, можно обратиться к его Python-интерпретатору напрямую. В PowerShell:
.\venv\Scripts\python.exe -m pip install fastapi uvicorn
На macOS/Linux:
venv/bin/python -m pip install fastapi uvicorn
Этот способ работает в PowerShell без изменения политики выполнения скриптов — Activate.ps1 при этом не запускается вовсе.
Если вы всё же хотите активировать окружение (в cmd — venv\Scripts\activate.bat, на macOS/Linux — source venv/bin/activate), команды установки и запуска станут короче: достаточно писать просто python вместо полного пути к интерпретатору.
После установки папка venv/Lib/site-packages (или venv/lib/python3.x/site-packages на macOS/Linux) содержит fastapi и uvicorn. Больше ничего настраивать не нужно.
