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": "Привіт, 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": "Привіт, FastAPI!"}

Вітаємо! Ви щойно запустили свій перший FastAPI сервер.


Корисні поради

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

На цьому наша установка завершена! Тепер ви готові до створення повноцінного API. У наступних лекціях ми почнемо налаштовувати проєкт і вивчати основи маршрутизації. Чудова робота і до зустрічі!

Коментарі
ЩОБ ПОДИВИТИСЯ ВСІ КОМЕНТАРІ АБО ЗАЛИШИТИ КОМЕНТАР,
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ