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 будут установлены (где 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от операции настройки.Примечание
Процесс настройки имеет побочные эффекты как для
sys.path, так и дляos.environ. Вызов интерфейса командной строки в подпроцессе позволяет избежать этих побочных эффектов.Примечание
Процесс настройки может установить дополнительные модули, необходимые для
pip, но другие программы не должны предполагать, что эти зависимости всегда будут присутствовать по умолчанию (так как зависимости могут быть удалены в будущих версияхpip).
© 2001–2020 Python Software Foundation
Licensed under the PSF License.
https://docs.python.org/3.7/library/ensurepip.html