Некоторые пакеты 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 unistall
.
Также возникает ситуация, когда нужно запустить утилиту, но не устанавливать ее в систему на совсем. В таком случае 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 unistall
и проверьте, что ее больше нельзя вызвать в командной строке - Запустите теперь утилиту без установки командой
uvx
- Проверьте, что утилиты все также нет в системе
Остались вопросы? Задайте их в разделе «Обсуждение»
Вам ответят команда поддержки Хекслета или другие студенты
Для полного доступа к курсу нужен базовый план
Базовый план откроет полный доступ ко всем курсам, упражнениям и урокам Хекслета, проектам и пожизненный доступ к теории пройденных уроков. Подписку можно отменить в любой момент.