Python: Настройка окружения

Теория: Глобальная установка пакетов

Некоторые пакеты Python представляют собой не просто подключаемые библиотеки, а законченные программы. Например, утилита pydf, которая позволяет посмотреть свободное место на диске. Сама эта утилита не привязана к Python, она работает с операционной системой.

Подобные утилиты не связаны с конкретным проектом и даже с самим языком. Подразумевается, что ими может воспользоваться кто угодно. Для таких случаев существует еще один способ установки – tool. Посмотрите пример:

uv tool install pydf

Команда tool устанавливает пакет в особую общую, но все еще виртуальную и изолированную от системы, директорию утилит. После установки утилита становится доступна в командной строке по какому-то имени, которое указано в документации проекта, например, на GitHub. В случае pydf имя пакета совпадает с именем команды:

pydf

Filesystem             Size Used Avail Use%                 Mounted on
overlay                235G 195G   28G 82.8 [###########..] /
/dev/mapper/sda4_crypt 235G 195G   28G 82.8 [###########..] /app
/dev/mapper/sda4_crypt 235G 195G   28G 82.8 [###########..] /etc/hostname

Удалить утилиту можно командой uv tool uninstall <утилита>.

Также возникает ситуация, когда нужно запустить утилиту, но не устанавливать ее в систему насовсем. В таком случае uv предоставляет команду uv tool run <утилита> или сокращенную версию - uvx <утилита>

uvx pydf

Filesystem             Size Used Avail Use%                 Mounted on
overlay                235G 195G   28G 82.8 [###########..] /
/dev/mapper/sda4_crypt 235G 195G   28G 82.8 [###########..] /app
/dev/mapper/sda4_crypt 235G 195G   28G 82.8 [###########..] /etc/hostname

pip

Работая с Python вы часто будете встречать в документациях других проектов упоминания пакетного менеджера pip. pip ранее был стандартным менеджером и часто поставлялся в систему вместе с Python. Но в последних релизах Python от него отказались, потому что pip по умолчанию устанавливает пакеты в глобальное окружение и не умеет сам создавать виртуальные окружения.

Потому мы не советуем пользоваться pip для любой установки пакетов. Все зависимости проекта устанавливайте через uv. Если вы будете встречать в инструкциях команду pip install, то заменяйте ее на аналогичную uv add или uvx.

Рекомендуемые программы