Learning Platform
Урок 01.03 · 12 мин
Начальный
uvPython installationVirtual environmentsSetup
Git: установка и первоначальная настройка

Один инструмент вместо четырёх

В 2018-2023 годах рабочий стек Python-разработчика включал: pyenv (для управления версиями Python), pip (для пакетов), virtualenv или venv (для изоляции), pip-tools или poetry (для воспроизводимых сборок). Каждый со своим конфигом, своим стилем команд, своими багами.

В 2024 году появился

uv
, и за полтора года он стал индустриальным стандартом. Это один бинарник, который заменяет всё перечисленное и работает в 10-100 раз быстрее. Команда uv за время одного pip install requests успевает собрать весь dependency-граф крупного проекта.

В этом курсе мы используем только uv. Если у вас уже стоят pyenv, pipx, poetry — оставьте их, мешать не будут, мы их просто не используем.

Установка uv

macOS / Linux:

curl -LsSf https://astral.sh/uv/install.sh | sh

Windows: ты работаешь в WSL2/Ubuntu (как в Ступени 0), поэтому ставь uv там же, командой для Linux/macOS, а не в PowerShell. Открой свой терминал Ubuntu и выполни ту же самую команду:

curl -LsSf https://astral.sh/uv/install.sh | sh

После установки откройте новый терминал и проверьте:

uv --version

Должна напечататься версия, например uv 0.5.x или новее. Если команда не находится — закройте и откройте терминал заново, скрипт прописал uv в PATH для нового shell.

Установка Python 3.13

uv сам ставит Python — никаких отдельных скачиваний с python.org:

uv python install 3.13

Это скачает официальный

portable-сборку Python 3.13
в кэш uv. Установка занимает 5-10 секунд.

Проверьте:

uv python list

Увидите список доступных Python-версий — установленные с галочкой.

Первый проект

Создадим проект, в котором будем работать первое время:

mkdir python-01-playground
cd python-01-playground
uv init --python 3.13

Команда uv init создаст:

  • pyproject.toml — манифест проекта (название, версия, зависимости).
  • .python-version — пин на Python 3.13 (uv будет использовать именно эту версию здесь).
  • main.py — простой стартовый файл print("Hello!").
  • README.md — пустая заготовка.
  • .gitignore — стандартный gitignore для Python.

Запустим:

uv run main.py

Первая команда uv run создаст виртуальное окружение в .venv/, установит туда Python 3.13 (если ещё не) и выполнит скрипт. Дальше каждый uv run будет молниеносно стартовать.

TIP

Никогда не активируйте виртуальное окружение командой source .venv/bin/activate, как учили в старых курсах. С uv это не нужно — uv run сам подхватывает окружение проекта. Меньше шансов запустить скрипт не там, где надо.

Добавим зависимость

Попробуем установить пакет:

uv add requests

uv add добавит requests в pyproject.toml, обновит lockfile uv.lock и поставит библиотеку в .venv/. Скорость — обычно меньше секунды.

Проверим, что работает:

uv run python -c "import requests; print(requests.__version__)"

Должна напечататься версия requests (например, 2.32.x).

Что мы сделали

За 5 команд у вас на машине:

  1. Установлен uv — один бинарник на все случаи Python.
  2. Установлен Python 3.13 — целевая версия курса.
  3. Создан изолированный проект с воспроизводимыми зависимостями через pyproject.toml + uv.lock.
  4. Установлен первый пакет requests, готовый к использованию.

Никаких пользовательских настроек, никаких ~/.bashrc патчей, никакого глобального pip install. Современный Python-стек 2026 года выглядит так.

Упражнение

Создайте новый файл hello.py в папке проекта со следующим содержимым:

import sys
import platform

print(f"Python: {sys.version_info.major}.{sys.version_info.minor}.{sys.version_info.micro}")
print(f"Platform: {platform.system()} {platform.machine()}")

Запустите его командой uv run hello.py. Ожидаемый вывод — две строки. Первая должна начинаться с Python: 3.13. Если получили другую версию — проверьте .python-version в проекте.

В следующем уроке — как эффективно учиться по этому курсу.

Закончили урок?

Отметьте его как пройденный, чтобы отслеживать свой прогресс

Войдите чтобы оценить урок

Прогресс модуля
0 из 4