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

ensurepip.md

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

1> **Источник:** https://python-all.ru/2.7/library/ensurepip.html2>3> «Документация Python на русском» – неофициальный перевод официальной документации Python: версии от 2.6 до 3.16, полнотекстовый поиск, английский оригинал рядом с переводом. Эта Markdown-версия страницы предназначена для работы с LLM: вставьте её в ChatGPT, Claude или Cursor.45---67# 27.2. [`ensurepip`](https://python-all.ru/2.7/library/ensurepip.html#module-ensurepip) – Начальная установка `pip` установщика89Новое в версии 2.7.9.1011Пакет [`ensurepip`](https://python-all.ru/2.7/library/ensurepip.html#module-ensurepip) обеспечивает поддержку начальной установки установщика `pip` в существующую установку Python или виртуальное окружение. Такой подход к начальной установке отражает тот факт, что `pip` – это независимый проект с собственным циклом выпуска, и последняя доступная стабильная версия включается в выпуски с исправлениями и новыми функциями эталонного интерпретатора CPython.1213В большинстве случаев конечным пользователям Python не нужно напрямую вызывать этот модуль (так как `pip` должен быть загружен по умолчанию), но это может потребоваться, если установка `pip` была пропущена при установке Python (или при создании виртуального окружения) или после явного удаления `pip`.1415> **Примечание**16>17> Этот модуль *не* обращается к интернету. Все компоненты, необходимые для начальной установки `pip`, включены как внутренние части пакета.1819> **См. также**20>21> **[Установка модулей Python](https://python-all.ru/2.7/installing/index.html#installing-index)**22>23> Руководство конечного пользователя по установке пакетов Python24>25> **[**PEP 453**](https://python-all.ru/2.7/library/ensurepip.html): Явная начальная установка pip в установках Python**26>27> Исходные обоснование и спецификация этого модуля.28>29> **[**PEP 477**](https://python-all.ru/2.7/library/ensurepip.html): перенос ensurepip (PEP 453) в Python 2.7.**30>31> Обоснование и спецификация переноса PEP 453 в Python 2.7.3233## 27.2.1. Интерфейс командной строки3435Интерфейс командной строки вызывается с помощью ключа `-m` интерпретатора.3637Самый простой вызов:3839```python40python -m ensurepip41```4243Этот вызов установит `pip`, если он ещё не установлен, но в противном случае ничего не делает. Чтобы установленная версия `pip` была не менее новой, чем та, которая поставляется с `ensurepip`, используйте опцию `--upgrade`:4445```python46python -m ensurepip --upgrade47```4849По умолчанию `pip` устанавливается в текущее виртуальное окружение (если оно активно) или в системные site-packages (если активное виртуальное окружение отсутствует). Расположение установки можно контролировать с помощью двух дополнительных параметров командной строки:5051- `--root <dir>`: Устанавливает `pip` относительно указанного корневого каталога, а не корня текущего активного виртуального окружения (если оно есть) или корня по умолчанию для текущей установки Python.52- `--user`: Устанавливает `pip` в каталог пользовательских пакетов, а не глобально для текущей установки Python (эта опция не разрешена внутри активного виртуального окружения).5354По умолчанию будут установлены скрипты `pip`, `pipX` и `pipX.Y` (где X.Y обозначает версию Python, используемую для вызова `ensurepip`). Устанавливаемые скрипты можно контролировать с помощью двух дополнительных параметров командной строки:5556- `--altinstall`: если запрашивается альтернативная установка, скрипты `pip` и `pipX` *не* будут установлены.57- `--no-default-pip`: если запрашивается нестандартная установка, скрипт `pip` *не* будет установлен.5859Изменено в версии 2.7.15: Код возврата не равен нулю, если команда завершается с ошибкой.6061## 27.2.2. API модуля6263[`ensurepip`](https://python-all.ru/2.7/library/ensurepip.html#module-ensurepip) предоставляет две функции для программного использования:6465#### `ensurepip.version()`6667Возвращает строку, указывающую версию pip, входящую в поставку, которая будет установлена при начальной настройке окружения.6869#### `ensurepip.bootstrap(root=None, upgrade=False, user=False, altinstall=False, default_pip=True, verbosity=0)`7071Выполняет начальную установку `pip` в текущее или указанное окружение.7273*root* задаёт альтернативный корневой каталог, относительно которого производится установка. Если *root* равен `None`, то установка использует расположение по умолчанию для текущего окружения.7475*upgrade* указывает, следует ли обновить существующую установку более ранней версии `pip` до версии, входящей в поставку.7677*user* указывает, следует ли использовать пользовательскую схему вместо глобальной установки.7879По умолчанию будут установлены скрипты `pip`, `pipX` и `pipX.Y` (где X.Y обозначает текущую версию Python).8081Если параметр *altinstall* установлен, то скрипты `pip` и `pipX` *не* будут установлены.8283Если параметр *default\_pip* установлен в `False`, то `pip` *не* будет установлен.8485Установка обоих *altinstall* и *default\_pip* вызовет [`ValueError`](https://python-all.ru/2.7/library/exceptions.html#exceptions.ValueError).8687*verbosity* управляет уровнем вывода в [`sys.stdout`](https://python-all.ru/2.7/library/sys.html#sys.stdout) от операции начальной загрузки.8889> **Примечание**90>91> Процесс начальной загрузки имеет побочные эффекты как на `sys.path`, так и на `os.environ`. Вызов интерфейса командной строки в подпроцессе, напротив, позволяет избежать этих побочных эффектов.9293> **Примечание**94>95> Процесс начальной загрузки может устанавливать дополнительные модули, необходимые для `pip`, но другое программное обеспечение не должно предполагать, что эти зависимости всегда будут присутствовать по умолчанию (поскольку зависимости могут быть удалены в будущей версии `pip`).96