pip
- система управления пакетами, которая используется для установки и управления программными пакетами, написанными на Python. Много пакетов можно найти в Python Package Index.
Начиная с Python версии 3.4, pip поставляется вместе с интерпретатором языка Python. Если pip
отсутствует, то его можно установить двумя способами:
ensurepip
, который обеспечивает поддержку начальной загрузки pip
в виртуальную среду или существующую установку Python get-pip.py
, который можно скачать при помощи утилиты bash wget
с сайта 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.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
$ 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
- помощь по доступным командам.