ensurepip — Настройка установщика pip
Новое в версии 3.4.
Пакет ensurepip предоставляет поддержку настройки установщика pip в существующей установке Python или виртуальной среде. Такой подход к настройке отражает тот факт, что pip — это независимый проект со своим циклом релизов, и последняя доступная стабильная версия включена в релизы с поддержкой и новыми функциями интерпретатора CPython.
В большинстве случаев конечным пользователям Python не нужно вызывать этот модуль напрямую (так как pip должен настраиваться по умолчанию), но он может потребоваться, если установка pip была пропущена при установке Python (или при создании виртуальной среды) или после явного удаления pip.
Примечание
Этот модуль не обращается к интернету. Все необходимые компоненты для настройки pip включены в качестве внутренних частей пакета.
См. также
- Установка модулей Python
-
Руководство по установке пакетов Python для конечных пользователей
- PEP 453: Явная настройка pip в установках Python
-
Исходное обоснование и спецификация для этого модуля.
28.2.1. Интерфейс командной строки
Интерфейс командной строки вызывается с помощью переключателя интерпретатора -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: if a “default pip” installation is requested, the -
скрипт
pipбудет установлен дополнительно к двум стандартным скриптам.
-
Указание обоих параметров выбора скриптов вызовет исключение.
Изменено в версии 3.6.3: Код возврата не равен нулю, если команда завершилась неудачно.
28.2.2. 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во время настройки.Примечание
Процесс настройки имеет побочные эффекты как для
sys.pathиos.environ. Вызов интерфейса командной строки в дочернем процессе позволяет избежать этих побочных эффектов.Примечание
Процесс настройки может установить дополнительные модули, необходимые для
pip, но другое программное обеспечение не должно предполагать, что эти зависимости будут всегда присутствовать по умолчанию (так как зависимости могут быть удалены в будущих версияхpip).
© 2001–2020 Python Software Foundation
Licensed under the PSF License.
https://docs.python.org/3.6/library/ensurepip.html