ensurepip — Настройка установщика pip
Новое в версии 2.7.9.
Пакет ensurepip предоставляет поддержку настройки установщика pip в существующей установке Python или виртуальной среде. Данный подход к настройке отражает тот факт, что pip является независимым проектом со своим собственным циклом выпуска, и последняя доступная стабильная версия включена в релизы интерпретатора CPython с поддержкой и новыми функциями.
В большинстве случаев конечным пользователям Python не нужно вызывать этот модуль напрямую (поскольку pip должен настраиваться по умолчанию), но он может потребоваться, если установка pip была пропущена при установке Python (или при создании виртуальной среды) или после явного удаления pip.
Примечание
Этот модуль не обращается к интернету. Все компоненты, необходимые для настройки pip, включены в пакет в качестве внутренних частей.
См. также
- Установка модулей Python
-
Руководство для конечного пользователя по установке пакетов Python
- PEP 453: Явная настройка pip в установках Python
-
Исходное обоснование и спецификация для этого модуля.
- PEP 477: Обратная портативность ensurepip (PEP 453) в Python 2.7
-
Обоснование и спецификация для переноса PEP 453 в Python 2.7.
1. Интерфейс командной строки
Интерфейс командной строки вызывается с помощью переключателя -m интерпретатора.
Самый простой возможный вызов:
python -m ensurepip
Этот вызов установит pip, если он еще не установлен, но в противном случае ничего не делает. Чтобы гарантировать, что установленная версия pip не моложе, чем версия, включенная в ensurepip, передайте опцию --upgrade:
python -m ensurepip --upgrade
По умолчанию pip устанавливается в текущей виртуальной среде (если она активна) или в системные пакеты (если активной виртуальной среды нет). Место установки можно контролировать с помощью двух дополнительных опций командной строки:
-
--root <dir>: Устанавливаетpipотносительно указанного корневого каталога, а не относительно корня текущей активной виртуальной среды (если таковая имеется) или корневого каталога по умолчанию для текущей установки Python. -
--user: Устанавливаетpipв каталог пользовательских пакетов, а не глобально для текущей установки Python (эта опция недоступна внутри активной виртуальной среды).
По умолчанию будут установлены скрипты pip, pipX и pipX.Y (где X.Y — версия Python, используемая для вызова ensurepip). Установленные скрипты можно контролировать с помощью двух дополнительных опций командной строки:
-
--altinstall: если запрашивается альтернативная установка, скриптыpipиpipXне будут установлены. -
--no-default-pip: если запрашивается нестандартная установка, скриптpipне будет установлен.
Изменено в версии 2.7.15: Код возврата не равен нулю, если команда завершается неудачно.
2. API модуля
ensurepip предоставляет две функции для программированного использования:
-
ensurepip.version() -
Возвращает строку, определяющую версию pip, включенную в пакет, которая будет установлена при настройке среды.
-
ensurepip.bootstrap(root=None, upgrade=False, user=False, altinstall=False, default_pip=True, verbosity=0) -
Настраивает
pipв текущей или назначенной среде.root указывает альтернативный корневой каталог для установки относительно него. Если root имеет значение
None, то установка использует расположение по умолчанию для текущей среды.upgrade указывает, нужно ли обновлять существующую установку более ранней версии
pipдо включенной версии.user указывает, использовать ли схему пользователя вместо глобальной установки.
По умолчанию будут установлены скрипты
pip,pipXиpipX.Y(где X.Y — текущая версия Python).Если altinstall установлено, то
pipиpipXне будут установлены.Если default_pip установлено в
False, то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/2.7/library/ensurepip.html