PIP - система управления пакетами
Начиная с Python версии 3.4, pip поставляется вместе с интерпретатором языка Python. Если pip
отсутствует, то его можно установить двумя способами:
$ 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
$ python3 -m pip <pip arguments>
Установка пакетов
pip
поддерживает установку пакетов из Python Package Index, локальных репозиториев и напрямую из дистрибутивных файлов.
# новейшая версия
$ pip3 install SomePackage
# определенная версия
$ pip3 install SomePackage==1.0.4
# минимальная версия
$ pip3 install SomePackage>=1.0.4
pip
предоставляет возможность управлять всеми зависимостями вашего проекта с помощью файла 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 SomePackage
pip
также выполняет автоматическое удаление старой версии пакета перед обновлением до новой версии.
Просмотр списка установленных
$ pip3 list
docutils (0.9.1)
Jinja2 (2.6)
Pygments (1.5)
Sphinx (1.1.2)
Чтобы вывести список устаревших пакетов и показать последнюю доступную версию:
$ pip3 list --outdated
docutils (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
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
- помощь по доступным командам.