Добро пожаловать на очередную лекцию, друзья!
Сегодня мы продолжим погружаться в мир FastAPI, а также научимся устанавливать этот фреймворк и сервер Uvicorn. Для этого нам нужно будет подготовить среду разработки. Если вы уже настроили виртуальные окружения и не боитесь pip-установок, то можно расслабиться — сложного тут ничего не будет. Если нет, не пугайтесь, мы всё разжуем!
Но прежде чем нырнуть в установку, освежим нашу память.
Зачем нужен Uvicorn?
Прежде чем мы начнём установку, быстро разберёмся, зачем нам ещё какой-то Uvicorn. FastAPI — это фреймворк, и он отвечает за написание кода, но для его выполнения нужен "движок", чтобы обрабатывать запросы. Этот движок называется ASGI-сервер.
ASGI (Asynchronous Server Gateway Interface) — это стандарт, который позволяет запускать асинхронные веб-приложения. Uvicorn — это один из самых популярных ASGI-серверов. Он быстрый, лёгкий и полностью совместим с FastAPI.
Без него код FastAPI будет как машина без водителя — готова к работе, но некому нажать на газ (то есть, выполнить запросы к вашему серверу).
План действий
Вот чем мы сейчас займёмся:
- Установим необходимое ПО (Python, менеджер пакетов).
- Создадим и активируем виртуальное окружение.
- Установим FastAPI через pip.
- Установим Uvicorn для запуска FastAPI-приложения.
- Проверим установку.
Итак, вооружаемся клавиатурами и начинаем.
1. Установка Python и менеджера пакетов
Начнем с того, что нам нужен Python. Да, сюрприз! FastAPI требует версии Python 3.7 или выше, так что если ваш Python где-то там застрял в версии 3.5+, пора его обновить. В вашем терминале проверьте установленную версию с помощью команды:
python --version
Или для некоторых систем:
python3 --version
Вы должны увидеть что-то вроде:
Python 3.12.1
Если версия ниже 3.7, установите новую с официального сайта Python: https://www.python.org/downloads.
Также проверьте, что установлен менеджер пакетов pip. Вы уже в курсе, что он обычно идёт в комплекте с Python, но всё-таки проверьте:
pip --version
Если его нет, установите вручную:
python -m ensurepip --upgrade
2. Создаём виртуальное окружение
Для любых Python-проектов мы всегда создаём виртуальные окружения — это как изолированный мир, где ваши зависимости не конфликтуют с глобальными. В FastAPI они особенно полезны, потому что мы будем использовать множество дополнительных библиотек.
В терминах Python мы создаём виртуальное окружение так:
python -m venv venv
Это создаст папку venv в вашем проекте.
Теперь активация
На Windows:
venv\Scripts\activate
На Mac/Linux:
source venv/bin/activate
После активации вы увидите что-то вроде (venv) в начале строки терминала — это значит, вы находитесь в виртуальном окружении.
3. Установка FastAPI
Теперь, когда мы в виртуальном окружении, переходим к самому интересному — установке FastAPI. Используем наш любимый pip:
pip install fastapi
После выполнения этой команды Python скачает и установит все файлы, необходимые для работы FastAPI.
4. Установка Uvicorn
Теперь установим Uvicorn, который будет нашим сервером. Для установки мы снова используем pip, но добавим ещё один параметр:
pip install "uvicorn[standard]"
Почему здесь квадратные скобки? Потому что параметр [standard] добавит дополнительные зависимости, которые пригодятся для лучшей производительности. Это вполне нормальная практика.
5. Проверка установки
Чтобы убедиться, что всё установлено правильно, давайте создадим небольшой скрипт на FastAPI и попробуем его запустить с помощью Uvicorn.
Создайте файл, например, app.py, и добавьте в него следующий код:
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
async def read_root():
return {"message": "Hello, FastAPI!"}
Теперь запустим сервер. Выполните в терминале:
uvicorn app:app --reload
Здесь:
app:app— это путь к приложению. Первая частьapp— это имя файла (без.py), а втораяapp— это наша переменнаяappиз кода.--reloadвключает автоматическую перезагрузку при изменении кода (что удобно в разработке).
Если всё сделано правильно, вы увидите нечто вроде:
INFO: Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
INFO: Started reloader process [12345] using statreload
INFO: Application startup complete.
Откройте браузер и перейдите по адресу http://127.0.0.1:8000. Вы должны увидеть:
{"message": "Hello, FastAPI!"}
Поздравляем! Вы только что запустили свой первый FastAPI сервер.
Полезные советы
- Не забывайте активировать виртуальное окружение перед каждым запуском проекта. Если вы не активировали окружение, Python не найдёт ваши зависимости.
- Для продакшна используйте оптимизированную версию Uvicorn. Параметр
--reloadрекомендуется только для разработки. - Если что-то не работает — проверьте вашу версию Python. FastAPI активно использует аннотации типов, что требуется с версии Python 3.7.
На этом наша установка завершена! Теперь вы готовы к созданию полноценного API. В следующих лекциях мы начнём настраивать проект и изучать основы маршрутизации. Отличная работа и до встречи!
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ