JavaRush /Курсы /Модуль 4: FastAPI /Установка FastAPI и Uvicorn

Установка FastAPI и Uvicorn

Модуль 4: FastAPI
1 уровень , 2 лекция
Открыта

Добро пожаловать на очередную лекцию, друзья!

Сегодня мы продолжим погружаться в мир FastAPI, а также научимся устанавливать этот фреймворк и сервер Uvicorn. Для этого нам нужно будет подготовить среду разработки. Если вы уже настроили виртуальные окружения и не боитесь pip-установок, то можно расслабиться — сложного тут ничего не будет. Если нет, не пугайтесь, мы всё разжуем!

Но прежде чем нырнуть в установку, освежим нашу память.


Зачем нужен Uvicorn?

Прежде чем мы начнём установку, быстро разберёмся, зачем нам ещё какой-то Uvicorn. FastAPI — это фреймворк, и он отвечает за написание кода, но для его выполнения нужен "движок", чтобы обрабатывать запросы. Этот движок называется ASGI-сервер.

ASGI (Asynchronous Server Gateway Interface) — это стандарт, который позволяет запускать асинхронные веб-приложения. Uvicorn — это один из самых популярных ASGI-серверов. Он быстрый, лёгкий и полностью совместим с FastAPI.
Без него код FastAPI будет как машина без водителя — готова к работе, но некому нажать на газ (то есть, выполнить запросы к вашему серверу).


План действий

Вот чем мы сейчас займёмся:

  1. Установим необходимое ПО (Python, менеджер пакетов).
  2. Создадим и активируем виртуальное окружение.
  3. Установим FastAPI через pip.
  4. Установим Uvicorn для запуска FastAPI-приложения.
  5. Проверим установку.

Итак, вооружаемся клавиатурами и начинаем.


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 сервер.


Полезные советы

  1. Не забывайте активировать виртуальное окружение перед каждым запуском проекта. Если вы не активировали окружение, Python не найдёт ваши зависимости.
  2. Для продакшна используйте оптимизированную версию Uvicorn. Параметр --reload рекомендуется только для разработки.
  3. Если что-то не работает — проверьте вашу версию Python. FastAPI активно использует аннотации типов, что требуется с версии Python 3.7.

На этом наша установка завершена! Теперь вы готовы к созданию полноценного API. В следующих лекциях мы начнём настраивать проект и изучать основы маршрутизации. Отличная работа и до встречи!

1
Задача
Модуль 4: FastAPI, 1 уровень, 2 лекция
Недоступна
Виртуальное окружение
Виртуальное окружение
1
Задача
Модуль 4: FastAPI, 1 уровень, 2 лекция
Недоступна
Установка FastAPI
Установка FastAPI
Комментарии
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ