PIP — система управления пакетами
pip — система управления пакетами, которая используется для установки и управления программными пакетами, написанными на Python. Много пакетов можно найти в Python Package Index.
Начиная с Python версии 3.4, pip поставляется вместе с интерпретатором языка Python. Если pip отсутствует, то его можно установить двумя способами:
- при помощи модуля
ensurepip, который обеспечивает поддержку начальной загрузкиpipв виртуальную среду или существующую установку Python - при помощи скрипта установки
get-pip.py, который можно скачать при помощи утилиты bashwgetс сайта https://bootstrap.pypa.io/:
python3 -m ensurepip
wget https://bootstrap.pypa.io/get-pip.py
python3 get-pip.py --userНе забудьте обновить pip после установки:
#В Linux или macOS
pip3 install -U pip
#В Windows
python3 -m pip install -U pipЕсли вы не можете запустить pip команду напрямую (возможно, из-за отсутствия пути до директории с Python в системной переменной PATH), вы можете запустить pip через интерпретатор Python:
python3 -m pip <pip arguments>Установка пакетов
pip поддерживает установку пакетов из Python Package Index, локальных репозиториев и напрямую из дистрибутивных файлов.
#новейшая версия
pip3 install SomePackage
# определенная версия
pip3 install SomePackage==1.0.4
# минимальная версия
pip3 install SomePackage>=1.0.4pip предоставляет возможность управлять всеми зависимостями вашего проекта с помощью файла requirements.txt — файл зависимостей проекта, содержащий список пакетов и модулей, которые нужно установить для нормальной работы.
pip3 install -r requirements.txtЭто позволяет эффективно воспроизводить весь необходимый список пакетов в отдельном окружении (например, на другом компьютере) или в виртуальном окружении. requirements.txt содержит список аргументов установки pip, помещенных в файл с целью обеспечения повторяющихся установок. Закрепление версий зависимостей пакетов в файле requirements.txt защищает вас от ошибок или несовместимостей в недавно выпущенных версиях пакетов.
Составим список закрепленных версий всех пакетов, что были установлены в проекте с помощью команды pip freeze.
# получаем файл зависимостей проекта
pip3 freeze > requirements.txt
# переносим проект на другой компьютер
# или в другое виртуальное окружение
pip3 install -r requirements.txtВажно понимать, что pip определяет зависимости пакетов, используя метаданные install_requires , а не путем обнаружения requirements.txt файлов, встроенных в проекты.
Удаление пакетов
pip может удалить большинство пакетов следующим образом:
pip3 uninstall SomePackagepip также выполняет автоматическое удаление старой версии пакета перед обновлением до новой версии.
Просмотр списка установленных
pip3 listdocutils (0.9.1)
Jinja2 (2.6)
Pygments (1.5)
Sphinx (1.1.2)Чтобы вывести список устаревших пакетов и показать последнюю доступную версию:
pip3 list --outdateddocutils (Current: 0.9.1 Latest: 0.10)
Sphinx (Current: 1.1.2 Latest: 1.1.3)Чтобы показать подробную информацию об установленном пакете:
pip3 show sphinx---
Name: Sphinx
Version: 1.1.3
Location: /path/to/myVenv/lib/pythonx.x/site-packages
Requires: Pygments, Jinja2, docutilsПоиск пакетов
pip может искать пакеты в PyPI с помощью команды: pip search
pip3 search "query"query— это запрос, который будет использоваться для поиска по именам и резюме всех пакетов.
Что ещё умеет делать pip:
pip install package_name— установка пакета(ов).pip download package_name— загружает пакет(ы), но не устанавливает.pip uninstall package_name— удаление пакета(ов).pip list— выводит список установленных пакетов.pip freeze— выводит список установленных пакетов с их версиями для файла requirements.txt.pip search— поиск пакетов в PyPI по их имени.pip install -U— обновление пакета(ов).pip show some-package-name— показывает информацию об установленном пакете.pip check package_name— проверяет что установленные пакеты имеют совместимые зависимости.pip install --force-reinstall— переустановить пакет, даже если он последней версии.pip help— помощь по доступным командам.
