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

Добавлено в версии 3.4.


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

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

Примечание

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

См.также

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

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

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

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

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

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

Вернуться на верх