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
(где XY
обозначает версию 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
из операции начальной загрузки.Вызывает событие аудита
ensurepip.bootstrap
с аргументомroot
.Примечание
Процесс начальной загрузки имеет побочные эффекты как для
sys.path
, так и дляos.environ
. Вместо этого вызов интерфейса командной строки в подпроцессе позволяет избежать данных побочных эффектов.Примечание
В процессе начальной загрузки могут быть установлены дополнительные модули, необходимые для
pip
, но другое программное обеспечение не должно предполагать, что данные зависимости всегда будут присутствовать по умолчанию (поскольку зависимости могут быть удалены в будущей версииpip
).