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

28.2. ensurepip – начальная загрузка установщика pipensurepip – Bootstrapping the pip installer

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

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

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

Примечание

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

См. также

Установка модулей Python
Руководство конечного пользователя по установке пакетов Python
PEP 453: Явная начальная установка pip в установках Python
Исходные обоснование и спецификация этого модуля.

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

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

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

python -m ensurepip

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

python -m ensurepip --upgrade

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

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

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

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

Указание обоих параметров выбора скриптов приведёт к исключению.

28.2.2. API модуляModule API

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

ensurepip.version()

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

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

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

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

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

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

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

Если altinstall установлен, то pipX не будет установлен.

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

Установка одновременно altinstall и default_pip вызовет ValueError.

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

Примечание

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

Примечание

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