Зарегистрируйтесь, чтобы продолжить обучение

Глобальная установка пакетов 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 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.


Самостоятельная работа

  1. Установите утилиту pydf
  2. Запустите ее командой pydf
  3. Удалите ее командой uv tool unistall и проверьте, что ее больше нельзя вызвать в командной строке
  4. Запустите теперь утилиту без установки командой uvx
  5. Проверьте, что утилиты все также нет в системе

Аватары экспертов Хекслета

Остались вопросы? Задайте их в разделе «Обсуждение»

Вам ответят команда поддержки Хекслета или другие студенты

Для полного доступа к курсу нужен базовый план

Базовый план откроет полный доступ ко всем курсам, упражнениям и урокам Хекслета, проектам и пожизненный доступ к теории пройденных уроков. Подписку можно отменить в любой момент.

Получить доступ
1000
упражнений
2000+
часов теории
3200
тестов

Открыть доступ

Курсы программирования для новичков и опытных разработчиков. Начните обучение бесплатно

  • 130 курсов, 2000+ часов теории
  • 1000 практических заданий в браузере
  • 360 000 студентов
Отправляя форму, вы принимаете «Соглашение об обработке персональных данных» и условия «Оферты», а также соглашаетесь с «Условиями использования»

Наши выпускники работают в компаниях:

Логотип компании Альфа Банк
Логотип компании Aviasales
Логотип компании Yandex
Логотип компании Tinkoff
Рекомендуемые программы
профессия
от 25 000 ₸ в месяц
Разработка веб-приложений на Django
10 месяцев
с нуля
Старт 19 декабря

Используйте Хекслет по-максимуму!

  • Задавайте вопросы по уроку
  • Проверяйте знания в квизах
  • Проходите практику прямо в браузере
  • Отслеживайте свой прогресс

Зарегистрируйтесь или войдите в свой аккаунт

Отправляя форму, вы принимаете «Соглашение об обработке персональных данных» и условия «Оферты», а также соглашаетесь с «Условиями использования»
Изображение Тото

Задавайте вопросы, если хотите обсудить теорию или упражнения. Команда поддержки Хекслета и опытные участники сообщества помогут найти ответы и решить задачу