Некоторые пакеты 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.
Самостоятельная работа
- Установите утилиту
pydf - Запустите ее командой
pydf - Удалите ее командой
uv tool uninstallи проверьте, что ее больше нельзя вызвать в командной строке - Запустите теперь утилиту без установки командой
uvx - Проверьте, что утилиты все также нет в системе
Для полного доступа к курсу нужен базовый план
Базовый план откроет полный доступ ко всем курсам, упражнениям и урокам Хекслета, проектам и пожизненный доступ к теории пройденных уроков. Подписку можно отменить в любой момент.