Документация Python неофициальный перевод

ensurepip.md

114 строк · 9.4 КБ · обычная страница · сырой текст · скачать

1> **Источник:** https://python-all.ru/3/library/ensurepip.html2>3> «Документация Python на русском» – неофициальный перевод официальной документации Python: версии от 2.6 до 3.16, полнотекстовый поиск, английский оригинал рядом с переводом. Эта Markdown-версия страницы предназначена для работы с LLM: вставьте её в ChatGPT, Claude или Cursor.45---67# `ensurepip` – Начальная загрузка установщика `pip`89Добавлено в версии 3.4.1011**Исходный код:** [Lib/ensurepip](https://python-all.ru/3/library/ensurepip.html)1213---1415Пакет `ensurepip` обеспечивает поддержку начальной установки установщика `pip` в существующую установку Python или виртуальное окружение. Такой подход к начальной установке отражает тот факт, что `pip` – это независимый проект с собственным циклом выпуска, и последняя доступная стабильная версия включается в выпуски с исправлениями и новыми функциями эталонного интерпретатора CPython.1617В большинстве случаев конечным пользователям Python не нужно вызывать этот модуль напрямую (поскольку `pip` должен устанавливаться по умолчанию), но это может понадобиться, если установка `pip` была пропущена при установке Python (или при создании виртуального окружения) или после явного удаления `pip`.1819> **Примечание**20>21> Этот модуль *не* обращается к интернету. Все компоненты, необходимые для начальной установки `pip`, включены как внутренние части пакета.2223Это [опциональный модуль](https://python-all.ru/3/glossary.html#term-optional-module). Если его нет в вашей копии CPython, обратитесь к документации от вашего дистрибьютора (то есть того, кто предоставил вам Python). Если вы дистрибьютор, обратитесь к [требованиям к опциональным модулям](https://python-all.ru/3/using/configure.html#optional-module-requirements).2425> **См. также**26>27> **[Установка модулей Python](https://python-all.ru/3/installing/index.html#installing-index)**28>29> Руководство конечного пользователя по установке пакетов Python30>31> **[**PEP 453**](https://python-all.ru/3/library/ensurepip.html): Явная начальная установка pip в установках Python**32>33> Исходные обоснование и спецификация этого модуля.3435[Доступность](https://python-all.ru/3/library/intro.html#availability): не Android, не iOS, не WASI.3637Этот модуль не поддерживается на [мобильных платформах](https://python-all.ru/3/library/intro.html#mobile-availability) или [платформах WebAssembly](https://python-all.ru/3/library/intro.html#wasm-availability).3839## Интерфейс командной строки4041Интерфейс командной строки вызывается с помощью ключа `-m` интерпретатора.4243Самый простой вызов:4445```python46python -m ensurepip47```4849Этот вызов установит `pip`, если он ещё не установлен, но в противном случае ничего не делает. Чтобы установленная версия `pip` была не менее новой, чем версия, доступная в `ensurepip`, передайте параметр `--upgrade`:5051```python52python -m ensurepip --upgrade53```5455По умолчанию `pip` устанавливается в текущее виртуальное окружение (если оно активно) или в системные site-packages (если активное виртуальное окружение отсутствует). Расположение установки можно контролировать с помощью двух дополнительных параметров командной строки:5657#### `--root <dir>`5859Устанавливает `pip` относительно заданного корневого каталога, а не корня текущего активного виртуального окружения (если оно есть) или корня по умолчанию для текущей установки Python.6061#### `--user`6263Устанавливает `pip` в каталог пользовательских site-packages, а не глобально для текущей установки Python (эта опция не разрешена внутри активного виртуального окружения).6465По умолчанию будут установлены скрипты `pipX` и `pipX.Y` (где X.Y обозначает версию Python, используемую для вызова `ensurepip`). Устанавливаемые скрипты можно контролировать с помощью двух дополнительных параметров командной строки:6667#### `--altinstall`6869Если запрошена альтернативная установка, скрипт `pipX` *не* будет установлен.7071#### `--default-pip`7273Если запрошена установка «default pip», скрипт `pip` будет установлен в дополнение к двум обычным скриптам.7475Указание обоих параметров выбора скриптов приведёт к исключению.7677## API модуля7879`ensurepip` предоставляет две функции для программного использования:8081#### `ensurepip.version()`8283Возвращает строку, указывающую доступную версию pip, которая будет установлена при начальной установке окружения.8485#### `ensurepip.bootstrap(root=None, upgrade=False, user=False, altinstall=False, default_pip=False, verbosity=0)`8687Выполняет начальную установку `pip` в текущее или указанное окружение.8889*root* задаёт альтернативный корневой каталог, относительно которого производится установка. Если *root* равен `None`, то установка использует расположение по умолчанию для текущего окружения.9091*upgrade* указывает, следует ли обновлять существующую установку более ранней версии `pip` до доступной версии.9293*user* указывает, следует ли использовать пользовательскую схему вместо глобальной установки.9495По умолчанию будут установлены скрипты `pipX` и `pipX.Y` (где X.Y обозначает текущую версию Python).9697Если *altinstall* установлен, то `pipX` *не* будет установлен.9899Если *default\_pip* установлен, то `pip` будет установлен дополнительно к двум обычным скриптам.100101Установка обоих *altinstall* и *default\_pip* вызовет [`ValueError`](https://python-all.ru/3/library/exceptions.html#ValueError).102103*verbosity* управляет уровнем вывода в [`sys.stdout`](https://python-all.ru/3/library/sys.html#sys.stdout) от операции начальной загрузки.104105Вызывает [событие аудита](https://python-all.ru/3/library/sys.html#auditing) `ensurepip.bootstrap` с аргументом `root`.106107> **Примечание**108>109> Процесс начальной загрузки имеет побочные эффекты как на `sys.path`, так и на `os.environ`. Вызов интерфейса командной строки в подпроцессе, напротив, позволяет избежать этих побочных эффектов.110111> **Примечание**112>113> Процесс начальной загрузки может устанавливать дополнительные модули, необходимые для `pip`, но другое программное обеспечение не должно предполагать, что эти зависимости всегда будут присутствовать по умолчанию (поскольку зависимости могут быть удалены в будущей версии `pip`).114