2025, Nov 26 18:02
Установка uv и создание виртуального окружения venv: пошаговое руководство
Как установить uv до создания виртуального окружения: безопасная установка (pip, автономный установщик) и запуск uv venv для изоляции зависимостей проекта.
Запуская новый Python‑проект и собираясь использовать uv для управления пакетами, можно столкнуться с кажущимся парадоксом: вы хотите выполнить uv venv, но uv ещё не установлен на вашей машине. Устанавливать что‑то глобально вроде бы неправильно, если цель — изоляция. Разберёмся в ситуации и настроим всё чисто и предсказуемо.
Суть проблемы
Вы пытаетесь создать окружение проекта с помощью uv, но инструмент не установлен в системе — первая же команда недоступна.
uv venvЧто происходит на самом деле
Это не история про «курицу и яйцо». uv написан на Rust и изначально не зависит ни от Python, ни от виртуального окружения. То есть для установки uv не нужны никакие Python‑инструменты. Его можно получить отдельно через несколько поддерживаемых способов, описанных в официальной документации: автономный установщик, pip, cargo, docker или прямое скачивание бинарника. Подробности здесь: https://docs.astral.sh/uv/getting-started/installation/.
Если хотите самый простой путь и у вас уже есть pip, установите uv на уровне пользователя — это нормальная практика. Менеджер пакетов может существовать вне виртуального окружения и при этом не нарушать изоляцию зависимостей вашего проекта.
Минимальный воспроизводимый пример
Первая попытка срывается лишь потому, что инструмент ещё не в PATH, а не из‑за того, что uv требует виртуального окружения.
uv venvРешение
Сначала установите uv одним из поддерживаемых способов. Если доступен pip, самый прямой вариант — поставить его в пользовательские site-packages: так он не попадёт в системные каталоги, но будет доступен в вашей учётной записи.
pip install --user uv
uv venvИли воспользуйтесь любым другим способом из официального гайда: https://docs.astral.sh/uv/getting-started/installation/. Среди вариантов — автономный установщик, cargo, docker или скачивание бинарника. В документации также рекомендуют применять pipx для таких инструментов; многим разработчикам так удобнее работать с глобальными CLI‑утилитами.
Почему это важно
Осознание того, что uv независим от Python, снимает лишнее беспокойство при начальной настройке. Не нужно подстраивать модель окружений под инструмент, которому Python не требуется изначально. Установите сам uv один раз, а зависимости проекта управляйте внутри виртуального окружения, которое он создаёт. Роли остаются прозрачными: uv — системная или пользовательская CLI‑утилита, а библиотеки проекта — строго внутри виртуальной среды.
Итоги
Никакого парадокса в установке uv до создания виртуального окружения нет. Установите uv любым поддерживаемым способом — пользовательская установка через pip вполне практична — и запустите uv venv для инициализации проекта. Если ближе другой путь, в официальном руководстве https://docs.astral.sh/uv/getting-started/installation/ перечислены все варианты. Смысл прост: сначала поставьте uv на машину, а затем доверьте ему корректную изоляцию вашего проекта.