Первый запуск FastAPI

Создаём первое приложение


Шаг 1. Активация виртуального окружения

Перед установкой зависимостей активируйте виртуальное окружение:

Windows:

.venv\Scripts\activate

Linux / Mac:

source .venv/bin/activate

После активации в начале строки появится (.venv).


Шаг 2. Создание requirements.txt

Создайте файл requirements.txt в корне проекта:

# ============================================
# Core
# ============================================
fastapi
uvicorn
python-dotenv
pydantic-settings

# ============================================
# Database
# ============================================
sqlalchemy               # версия 2.0+ обязательна для async
aiomysql                 # MySQL async driver
aiosqlite                # SQLite async driver
alembic                  # миграции
black                    # форматирование кода

# ============================================
# Admin panel
# ============================================
sqladmin                 # админка для FastAPI

# ============================================
# Auth & security
# ============================================
passlib[bcrypt]          # хеширование паролей
python-jose[cryptography] # JWT токены
python-multipart         # для форм (регистрация)

# ============================================
# Async utilities
# ============================================
httpx                    # async HTTP клиент
aiofiles                 # async работа с файлами
aiologger                # async логирование

# ============================================
# Templates
# ============================================
jinja2                   # шаблонизатор для HTML страниц

# ============================================
# Parsing & web scraping
# ============================================
beautifulsoup4           # парсинг HTML/XML
readability-lxml         # извлечение чистого текста из HTML

# ============================================
# HTTP клиент (синхронный)
# ============================================
requests                 # для планировщика и тестов

# ============================================
# Data processing
# ============================================
pandas                   # для работы с данными
openpyxl                 # для Excel-файлов

# ============================================
# AI & LLM
# ============================================
openai                   # для DeepSeek API
anthropic                # для DeepSeek через Anthropic-совместимый эндпоинт

# ============================================
# Async web scraping
# ============================================
aiohttp                  # асинхронные HTTP-запросы
lxml                     # быстрый парсинг HTML

Установите зависимости:

pip install -r requirements.txt

Процесс может занять несколько минут.


Шаг 3. Создание файла app/main.py

Создайте папку app/ и внутри неё файл main.py:

from fastapi import FastAPI

app = FastAPI(
    title="Мой первый проект на FastAPI",
    version="0.1.0"
)

@app.get("/")
async def root():
    return {"message": "Hello World!"}

@app.get("/about")
async def about():
    return {"message": "Это страница о проекте."}

if __name__ == "__main__":
    import uvicorn
    uvicorn.run(
        "app.main:app",
        host="127.0.0.1",
        port=8000,
        reload=True
    )

Шаг 4. Запуск сервера

Запустите приложение командой:

uvicorn app.main:app --reload

Или через Python:

python -m app.main

После запуска вы увидите:

INFO:     Uvicorn running on http://127.0.0.1:8000
INFO:     Application startup complete.

Шаг 5. Проверка работы

Откройте в браузере:

  • http://127.0.0.1:8000 — увидите {"message":"Hello World!"}
  • http://127.0.0.1:8000/about — увидите {"message":"Это страница о проекте."}
  • http://127.0.0.1:8000/docsавтоматическая документация Swagger UI. FastAPI сам генерирует её по вашему коду. Здесь можно посмотреть все доступные эндпоинты и даже отправить тестовый запрос прямо из браузера. Это одна из главных фишек FastAPI — документация всегда актуальна, потому что генерируется автоматически.

Шаг 6. Сохраняем изменения в GitHub

git add .
git commit -m "Первый запуск FastAPI: main.py и запуск сервера"
git push origin main

Итог

Сегодня мы:

  • ✅ Активировали виртуальное окружение
  • ✅ Создали requirements.txt со всеми зависимостями
  • ✅ Установили зависимости
  • ✅ Создали main.py с двумя эндпоинтами
  • ✅ Запустили сервер и проверили работу через браузер и Swagger UI
  • ✅ Закоммитили изменения в GitHub

В следующих статьях мы будем добавлять утилиты для полноценного проекта.

Следующая статья: Логирование

Ищете хостинг для размещения вашего проекта в сети Интернет?
Посмотрите здесь →

Реклама. ООО «Бегет» ИНН 7801451618 erid: 2VtzqxQSRkE