Pip, система управления пакетами для Python, является незаменимым инструментом для каждого программиста на этом языке. Работаете ли вы над веб-разработкой, машинным обучением, Data Science или любым другим проектом на Python, pip позволит вам легко получить доступ к обширному репозиторию библиотек и фреймворков.
Используя pip, вы можете быстро устанавливать и обновлять пакеты и управлять зависимостями с минимальными усилиями. Это не только экономит время, но и гарантирует, что вы имеете дело с самыми последними и безопасными версиями библиотек. Кроме того, pip поддерживает создание и управление виртуальными средами, что помогает изолировать зависимости конкретного проекта и поддерживать чистую среду разработки.
Установка и обновление Pip
Pip обычно поставляется в комплекте с Python версии 3.4 и выше. Тем не менее, важно убедиться, что pip установлен и обновлен, чтобы использовать последние функции и обновления безопасности.
Проверка установки pip: откройте терминал или командную строку и выполните команду:
pip --version
Эта команда отобразит версию pip, установленную на вашей системе.
Установка pip: вы можете загрузить скрипт get-pip.py и запустить его с помощью Python:
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python get-pip.py
Обновление pip: чтобы обновить pip до последней версии, выполните следующую команду:
pip install --upgrade pip
Убедившись, что pip установлен и обновлен, вы сможете избежать потенциальных проблем с совместимостью и получить более плавный опыт разработки.
Установка пакетов
Когда pip установлен и обновлен, вы можете начать установку пакетов Python из индекса пакетов Python (PyPI).
Базовая установка пакетов: чтобы установить пакет, выполните следующую команду:
pip install package_name
Например, чтобы установить популярную библиотеку requests, нужно выполнить команду:
pip install requests
Установка определенных версий: вы можете указать версию пакета, добавив ==, за которым следует номер версии:
pip install package_name==1.0.0
Установка нескольких пакетов из файла требований: вы можете создать файл требований и установить все пакеты, перечисленные в нем, за один раз.
Создайте файл requirements.txt с именами и версиями пакетов.
Установите пакеты с помощью следующей команды:
pip install -r requirements.txt
Этот метод особенно полезен для быстрой настройки окружений и обеспечения согласованности различных установок.
Установка пакетов из URL или локальной директории: pip также позволяет устанавливать пакеты из URL или из локальных каталогов.
Из URL-адреса:
pip install https://example.com/package_name.tar.gz
Из локальной директории:
pip install /path/to/package_name
Установка предварительных версий: если вам нужна предварительная версия пакета, используйте флаг --pre:
pip install package_name --pre
Это может быть полезно для тестирования новых функций или обновлений до их официального релиза.
Освоив эти команды установки, вы сможете эффективно управлять библиотеками и инструментами, необходимыми для ваших проектов, обеспечивая плавный и продуктивный процесс разработки.
Деинсталляция пакетов
В pip есть несколько команд, которые помогут вам удалить ненужные пакеты из среды Python.
Простая деинсталляция: чтобы удалить пакет, используйте следующую команду:
pip uninstall package_name
Например, чтобы удалить библиотеку requests, нужно выполнить команду:
pip uninstall requests
Удаление нескольких пакетов: вы можете удалить несколько пакетов, перечислив их один за другим:
pip uninstall package1 package2 package3
Эта команда попросит вас подтвердить удаление каждого пакета.
Принудительная деинсталляция: использование флага -y поможет принудительно удалить пакет, не запрашивая подтверждения:
pip uninstall package_name -y
Удаление всех пакетов: если вам нужно удалить все пакеты из вашей среды, вы можете воспользоваться следующей командой:
pip freeze | xargs pip uninstall -y
Эта команда выводит список всех установленных пакетов и передает их команде удаления.
Эффективное управление пакетами, которые вам больше не нужны, позволяет поддерживать чистоту среды и избегать потенциальных конфликтов. Регулярный просмотр и удаление ненужных пакетов поможет поддерживать комфортную систему разработки.
Списки установленных пакетов
Pip предлагает несколько команд для составления списков и просмотра установленных пакетов.
Простой список: чтобы перечислить все установленные пакеты, используйте команду:
pip list
Эта команда выводит простой список всех установленных пакетов вместе с их версиями.
Подробный список с версиями: для получения более подробного списка, включающего номера версий каждого пакета в удобном формате:
pip list --format=columns
Это обеспечивает табличный формат, который легче читать и интерпретировать.
Использование Freeze для создания файла требований: команда freeze полезна для создания списка всех установленных пакетов с указанием их версий. Этот список можно сохранить в файле требований, что полезно для копирования среды в другие места:
pip freeze > requirements.txt
Эта команда создает файл requirements.txt, содержащий все установленные пакеты и их соответствующие версии. Этот файл можно использовать для воссоздания окружения, выполнив команду:
pip install -r requirements.txt
Список устаревших пакетов: чтобы узнать, какие пакеты имеют доступные обновления, используйте команду list --outdated:
pip list --outdated
Эта команда показывает, какие установленные пакеты устарели, и предоставляет последнюю доступную версию.
Список пакетов с конкретной информацией: вы можете получить информацию об установленных пакетах, используя команду show, за которой следует имя пакета:
pip show package_name
Эта команда предоставляет подробную информацию об указанном пакете, включая его зависимости, версию и место установки.
Регулярно просматривая и перечисляя установленные пакеты, вы сможете поддерживать четкое понимание состояния вашей среды и более эффективно управлять зависимостями.
Поиск пакетов
Pip предоставляет команды для поиска пакетов, доступных в индексе пакетов Python (PyPI).
Основные команды поиска: чтобы найти пакет, используйте следующую команду:
pip search search_term
Например, для поиска пакетов, связанных с визуализацией данных, вы можете использовать:
pip search visualization
Эта команда возвращает список пакетов, соответствующих поисковому запросу, вместе с их описаниями.
Фильтрация результатов поиска: хотя функциональность поиска в pip является несколько базовой, вы можете использовать более конкретные условия поиска или комбинировать их с поиском на сайте PyPI для более глубокой фильтрации.
Поиск пакетов с определенными метаданными: вы можете использовать веб-интерфейс PyPI для поиска пакетов с определенными метаданными, такими как классификаторы, которые классифицируют пакеты на основе таких критериев, как статус разработки, целевая аудитория и поддерживаемые версии Python.
Использование сторонних инструментов: воспользуйтесь сторонними инструментами и веб-сайтами, которые интегрируются с PyPI. Инструменты вроде pip-tools или веб-интерфейсы вроде Libraries.io могут предоставить более продвинутые функции поиска.
Используя поисковые возможности pip и внешние инструменты, вы сможете эффективно найти и оценить пакеты, которые наилучшим образом отвечают потребностям вашего проекта.
Управление зависимостями
Управление зависимостями — важнейший аспект поддержания стабильной и функциональной среды Python. Pip предлагает несколько команд, которые помогут вам эффективно работать с зависимостями пакетов.
Проверка зависимостей пакетов: чтобы посмотреть зависимости конкретного пакета, вы можете использовать команду show:
pip show package_name
Эта команда предоставляет подробную информацию о пакете, включая его зависимости. Например:
pip show requests
Устранение конфликтов зависимостей: pip пытается разрешить эти конфликты автоматически, но если это не удается, вы можете вручную указать совместимые версии или использовать виртуальные среды для изоляции зависимостей.
Установка пакетов в виртуальной среде: виртуальные среды позволяют создавать изолированные среды Python для разных проектов, гарантируя, что зависимости не будут мешать друг другу.
Чтобы создать и активировать виртуальную среду, выполните следующие команды:
# Create a virtual environment
python -m venv env_name
# Activate the virtual environment (Windows)
env_name\Scripts\activate
# Activate the virtual environment (Linux/macOS)
source env_name/bin/activate
После активации вы можете устанавливать пакеты с помощью pip, и они будут находиться внутри виртуальной среды.
Обновление зависимостей: чтобы обновить пакет до последней версии, используйте флаг --upgrade:
pip install --upgrade package_name
Вы также можете обновить все пакеты, перечисленные в файле требований, выполнив команду:
pip install --upgrade -r requirements.txt
Замораживание зависимостей: после установки и управления зависимостями полезно заморозить их в файле требований. Это гарантирует, что точные версии пакетов задокументированы и могут быть воспроизведены:
pip freeze > requirements.txt
Эффективное управление зависимостями позволяет поддерживать стабильную и предсказуемую среду Python, что делает разработку более надежной.
Расширенные команды
Pip предлагает несколько дополнительных команд, которые обеспечивают больший контроль и предоставляют информацию об установленных пакетах и зависимостях.
Команда Show для получения подробной информации о пакете: show предоставляет подробную информацию о конкретном пакете, включая его зависимости, версию и место установки:
pip show package_name
Например:
pip show numpy
Эта команда выводит подробные метаданные о пакете numpy, помогая понять его зависимости и другую необходимую информацию.
Команда Check для проверки целостности пакета: check используется для проверки совместимости зависимостей установленных пакетов:
pip check
Эта команда проверяет наличие конфликтов зависимостей и сообщает о найденных проблемах, позволяя оперативно их решить.
Загрузка пакетов без установки: вы можете загружать пакеты без их установки с помощью команды download. Это может быть полезно для автономной установки или для проверки содержимого пакета перед установкой:
pip download package_name
Например, чтобы загрузить пакет requests:
pip download requests
Установка пакетов из локальных архивов: если вы загрузили пакеты в виде архивов (например, whl-файлов), вы можете установить их локально с помощью команды install:
pip install /path/to/package_name.whl
Установка из системы управления исходными текстами: pip позволяет устанавливать пакеты непосредственно из репозиториев контроля исходного кода, что полезно для тестирования последних версий кода или отдельных веток проекта:
pip install git+https://github.com/username/repo_name.git
Вы также можете указать ветки, теги или коммиты:
pip install git+https://github.com/username/repo_name.git@branch_name
Использование кэша Pip: pip поддерживает кэш загруженных пакетов для ускорения установки. Вы можете управлять этим кэшем с помощью команды cache.
Список записей кэша:
pip cache list
Удалить записи кэша:
pip cache purge
Используя эти расширенные команды, вы сможете получить больший контроль над средой Python, улучшить рабочий процесс и эффективнее устранять неполадки.
Pip — невероятно мощный и универсальный инструмент для управления пакетами Python, и освоение его различных команд может значительно улучшить ваш рабочий процесс разработки. От установки и обновления пакетов до управления зависимостями и настройки конфигураций, pip предоставляет все функции, необходимые для поддержания надежной и эффективной среды Python.
Переведено редакцией ProductStar специально для Хабра
ProductStar — онлайн-школа IT-профессий, часть холдинга РБК с 2023 года. Спасибо, что растете вместе с нами!
Вы можете подписаться на нас в Telegram, посмотреть на все наши статьи на Хабре и познакомиться с нашим расширенным курсом «Python-разработчик».
Комментарии (7)
Andrey_Solomatin
05.07.2024 10:25Я лично download, search никогда не использовал. show вроде был разок. Я бы их в основные не добавил.
JastixXXX
05.07.2024 10:25+2При попытке воспользоваться pip search, получаю в ответ, что оно больше не поддерживается. В статье устаревшая информация, или у меня руки кривые?
sinner_a
05.07.2024 10:25Так и есть (не про руки), у них проблемный API поиска пакетов. Не работает с 2020 г. https://habr.com/ru/news/533484/ здесь подробней.
Andrey_Solomatin
Стоит упомянуть про аргумент install
-e,--editable
Добавляет ссылку на папку из репозитория в установленные библиотеки. Если вы разработываете библиотеку и приложение, её использующее, это экономит время.
Для библиотек вообще рекомендован src layout https://packaging.python.org/en/latest/discussions/src-layout-vs-flat-layout/#src-layout-vs-flat-layout, работа с котором онованна на этом аргументе.