ensurepip — Настройка установщика pip
Новое в версии 3.4.
Исходный код: Lib/ensurepip
Пакет ensurepip предоставляет поддержку настройки установщика pip в существующей установке Python или виртуальной среде. Этот подход к настройке отражает тот факт, что pip является независимым проектом со своим собственным циклом выпуска, и последняя доступная стабильная версия включена в релизы с поддержкой и новыми функциями интерпретатора CPython.
В большинстве случаев конечным пользователям Python не нужно вызывать этот модуль напрямую (так как pip должен настраиваться по умолчанию), но он может потребоваться, если установка pip была пропущена при установке Python (или при создании виртуальной среды) или после явного удаления pip.
Примечание
Этот модуль не обращается к интернету. Все компоненты, необходимые для настройки pip, включены в состав пакета.
См. также
- Установка модулей Python
-
Руководство для конечного пользователя по установке пакетов Python
- PEP 453: Явное включение pip в установки Python
-
Исходное обоснование и спецификация для этого модуля.
Доступность: не Emscripten, не WASI.
Этот модуль не работает или недоступен на платформах WebAssembly, не поддерживающих установку зависимостей, и на платформах WASI. См. Платформы WebAssembly для получения дополнительной информации.
Командная строка
Интерфейс командной строки вызывается с помощью ключа --ensurepip интерпретатора.
Самый простой вызов:
python -m ensurepip
Этот вызов установит pip, если он еще не установлен, в противном случае ничего не произойдёт. Для обеспечения того, чтобы установленная версия pip была не менее новой, чем доступная в репозитории, передайте опцию --upgrade:
python -m ensurepip --upgrade
По умолчанию pip устанавливается в текущей виртуальной среде (если она активна) или в системные пакеты (если активной виртуальной среды нет). Место установки можно контролировать с помощью двух дополнительных опций командной строки:
--root=DIR: Устанавливает pip относительно указанного корневого каталога, а не корня активной виртуальной среды (если таковая имеется) или корневого каталога по умолчанию для текущей установки Python.--user: Устанавливает pip в каталог пользовательских пакетов, а не глобально для текущей установки Python (эта опция недоступна внутри активной виртуальной среды).
По умолчанию скрипты pipX.Y и pipX.Y.exe будут установлены (где X.Y обозначает версию Python, используемой для вызова ensurepip). Установку скриптов можно контролировать с помощью двух дополнительных опций командной строки:
--altinstall: если требуется альтернативная установка, скриптpipX.Y.exeне будет установлен.--default-pip: если требуется установка «pip по умолчанию», скриптpipX.Yбудет установлен дополнительно к двум стандартным скриптам.
Предоставление обеих опций выбора скриптов вызовет исключение.
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.YиpipX.Y.exeбудут установлены (где X.Y обозначает текущую версию Python).Если altinstall установлено, то
pipX.Y.exeне будет установлен.Если default_pip установлено, то
pipX.Yбудет установлен дополнительно к двум обычным скриптам.Установка обоих altinstall и default_pip вызовет ValueError.
verbosity управляет уровнем вывода в
sys.stdoutиз операции настройки.Вызывает событие аудита
ensurepip.bootstrapс аргументомroot.Примечание
Процесс настройки имеет побочные эффекты как для Python, так и для системы. Вызов интерфейса командной строки в подпроцессе позволяет избежать этих побочных эффектов.
Примечание
Процесс настройки может установить дополнительные модули, необходимые для pip, но другие программы не должны предполагать, что эти зависимости всегда будут присутствовать по умолчанию (так как зависимости могут быть удалены в будущей версии Python).