ensurepip — Загрузка программы установки pip

Added in version 3.4.

Источник: Lib/ensurepip


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

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

Примечание

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

См.также

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

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

PEP 453: Явная загрузка pip при установке Python

Первоначальное обоснование и спецификация данного модуля.

Availability: не WASI, не iOS.

Этот модуль не работает или недоступен на платформах WebAssembly или iOS. Дополнительные сведения о доступности WASM см. в разделе Платформы WebAssembly; о доступности iOS - в разделе iOS.

Интерфейс командной строки

Интерфейс командной строки вызывается с помощью ключа -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 будет установлен в дополнение к двум обычным скриптам.

Предоставление обоих вариантов выбора сценария приведет к возникновению исключения.

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 в результате операции бутстрапинга.

Поднимает auditing event ensurepip.bootstrap с аргументом root.

Примечание

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

Примечание

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