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
).