Документация Python неофициальный перевод
Содержание страницы

27.2. ensurepip – Начальная установка pip установщикаensurepip – Bootstrapping the pip installer

Новое в версии 2.7.9.

Пакет ensurepip обеспечивает поддержку начальной установки установщика pip в существующую установку Python или виртуальное окружение. Такой подход к начальной установке отражает тот факт, что pip – это независимый проект с собственным циклом выпуска, и последняя доступная стабильная версия включается в выпуски с исправлениями и новыми функциями эталонного интерпретатора CPython.

В большинстве случаев конечным пользователям Python не нужно напрямую вызывать этот модуль (так как pip должен быть загружен по умолчанию), но это может потребоваться, если установка pip была пропущена при установке Python (или при создании виртуального окружения) или после явного удаления pip.

Примечание

Этот модуль не обращается к интернету. Все компоненты, необходимые для начальной установки pip, включены как внутренние части пакета.

См. также

Установка модулей Python

Руководство конечного пользователя по установке пакетов Python

PEP 453: Явная начальная установка pip в установках Python

Исходные обоснование и спецификация этого модуля.

PEP 477: перенос ensurepip (PEP 453) в Python 2.7.

Обоснование и спецификация переноса PEP 453 в Python 2.7.

27.2.1. Интерфейс командной строкиCommand line interface

Интерфейс командной строки вызывается с помощью ключа -m интерпретатора.

Самый простой вызов:

python -m ensurepip

Этот вызов установит pip, если он ещё не установлен, но в противном случае ничего не делает. Чтобы установленная версия pip была не менее новой, чем та, которая поставляется с ensurepip, используйте опцию --upgrade:

python -m ensurepip --upgrade

По умолчанию pip устанавливается в текущее виртуальное окружение (если оно активно) или в системные site-packages (если активное виртуальное окружение отсутствует). Расположение установки можно контролировать с помощью двух дополнительных параметров командной строки:

  • --root <dir>: Устанавливает pip относительно указанного корневого каталога, а не корня текущего активного виртуального окружения (если оно есть) или корня по умолчанию для текущей установки Python.

  • --user: Устанавливает pip в каталог пользовательских пакетов, а не глобально для текущей установки Python (эта опция не разрешена внутри активного виртуального окружения).

По умолчанию будут установлены скрипты pip, pipX и pipX.Y (где X.Y обозначает версию Python, используемую для вызова ensurepip). Устанавливаемые скрипты можно контролировать с помощью двух дополнительных параметров командной строки:

  • --altinstall: если запрашивается альтернативная установка, скрипты pip и pipX не будут установлены.

  • --no-default-pip: если запрашивается нестандартная установка, скрипт pip не будет установлен.

Изменено в версии 2.7.15: Код возврата не равен нулю, если команда завершается с ошибкой.

27.2.2. API модуляModule API

ensurepip предоставляет две функции для программного использования:

ensurepip.version()

Возвращает строку, указывающую версию pip, входящую в поставку, которая будет установлена при начальной настройке окружения.

ensurepip.bootstrap(root=None, upgrade=False, user=False, altinstall=False, default_pip=True, verbosity=0)

Выполняет начальную установку pip в текущее или указанное окружение.

root задаёт альтернативный корневой каталог, относительно которого производится установка. Если root равен None, то установка использует расположение по умолчанию для текущего окружения.

upgrade указывает, следует ли обновить существующую установку более ранней версии pip до версии, входящей в поставку.

user указывает, следует ли использовать пользовательскую схему вместо глобальной установки.

По умолчанию будут установлены скрипты pip, pipX и pipX.Y (где X.Y обозначает текущую версию Python).

Если параметр altinstall установлен, то скрипты pip и pipX не будут установлены.

Если параметр default_pip установлен в False, то pip не будет установлен.

Установка обоих altinstall и default_pip вызовет ValueError.

verbosity управляет уровнем вывода в sys.stdout от операции начальной загрузки.

Примечание

Процесс начальной загрузки имеет побочные эффекты как на sys.path, так и на os.environ. Вызов интерфейса командной строки в подпроцессе, напротив, позволяет избежать этих побочных эффектов.

Примечание

Процесс начальной загрузки может устанавливать дополнительные модули, необходимые для pip, но другое программное обеспечение не должно предполагать, что эти зависимости всегда будут присутствовать по умолчанию (поскольку зависимости могут быть удалены в будущей версии pip).