# `ensurepip` — Bootstrapping the `pip` installer

Нове в версії 3.4.

Source code: Lib/ensurepip

Пакет `ensurepip` забезпечує підтримку початкового завантаження інсталятора `pip` в існуючу установку Python або віртуальне середовище. Цей підхід до початкового завантаження відображає той факт, що `pip` є незалежним проектом із власним циклом випуску, а остання доступна стабільна версія входить до комплекту технічного обслуговування та функціональних випусків довідкового інтерпретатора CPython.

У більшості випадків кінцевим користувачам Python не потрібно викликати цей модуль напряму (оскільки `pip` має завантажуватися за замовчуванням), але це може знадобитися, якщо під час встановлення Python було пропущено встановлення `pip` (або під час створення віртуального середовища) або після явного видалення `pip`.

Примітка

Цей модуль не має доступ до Інтернету. Усі компоненти, необхідні для завантаження `pip`, включені як внутрішні частини пакунка.

Дивись також

інсталяційний індекс

  Посібник кінцевого користувача для встановлення пакетів Python

PEP 453: Явне початкове завантаження pip у встановленнях Python

  Оригінальне обґрунтування та специфікація цього модуля.

## Інтерфейс командного рядка

Інтерфейс командного рядка викликається за допомогою перемикача `-m` інтерпретатора.

Найпростіший можливий виклик:

    python -m ensurepip

Цей виклик встановить `pip`, якщо він ще не встановлено, але в інших випадках нічого не робить. Щоб переконатися, що встановлена версія `pip` принаймні така ж остання, як та, доступна в `ensurepip`, передайте опцію `--upgrade`:

    python -m ensurepip --upgrade

За замовчуванням `pip` інсталюється в поточне віртуальне середовище (якщо воно активне) або в системні пакети сайту (якщо активного віртуального середовища немає). Розташуванням встановлення можна керувати за допомогою двох додаткових параметрів командного рядка:

- `--root <dir>`: Installs `pip` relative to the given root directory rather than the root of the currently active virtual environment (if any) or the default root for the current Python installation.

- `--user`: Installs `pip` into the user site packages directory rather than globally for the current Python installation (this option is not permitted inside an active virtual environment).

За замовчуванням буде встановлено сценарії `pipX` і `pipX.Y` (де X.Y означає версію Python, яка використовується для виклику `ensurepip`). Установленими сценаріями можна керувати за допомогою двох додаткових параметрів командного рядка:

- `--altinstall`: if an alternate installation is requested, the `pipX` script will not be installed.

- `--default-pip`: if a «default pip» installation is requested, the `pip` script will be installed in addition to the two regular scripts.

Надання обох параметрів вибору сценарію призведе до виключення.

## Модуль API

`ensurepip` надає дві функції для програмного використання:

`ensurepip.``version`()

  Повертає рядок із зазначенням доступної версії pip, яка буде встановлена під час завантаження середовища.

`ensurepip.``bootstrap`(root=None, upgrade=False, user=False, altinstall=False, default_pip=False, verbosity=0)

  Bootstraps `pip` в поточне або призначене середовище.

  root вказує альтернативний кореневий каталог для встановлення. Якщо root має значення `None`, тоді для встановлення використовується місце встановлення за замовчуванням для поточного середовища.

  upgrade вказує, чи потрібно оновлювати наявну інсталяцію попередньої версії `pip` до доступної версії.

  user вказує, чи слід використовувати схему користувача, а не глобальне встановлення.

  За замовчуванням буде встановлено сценарії `pipX` і `pipX.Y` (де X.Y означає поточну версію Python).

  Якщо встановлено altinstall, то `pipX` не буде встановлено.

  Якщо встановлено default_pip, то `pip` буде встановлено на додаток до двох звичайних сценаріїв.

  Налаштування як altinstall, так і default_pip спричинить `ValueError`.

  detality контролює рівень виведення в `sys.stdout` від операції початкового завантаження.

  Викликає подію аудиту `ensurepip.bootstrap` з аргументом `root`.

  Примітка

  Процес початкового завантаження має побічні ефекти як для `sys.path`, так і `os.environ`. Натомість виклик інтерфейсу командного рядка в підпроцесі дозволяє уникнути цих побічних ефектів.

  Примітка

  Процес завантаження може встановити додаткові модулі, необхідні для `pip`, але інше програмне забезпечення не повинно припускати, що ці залежності завжди будуть присутні за замовчуванням (оскільки залежності можуть бути видалені в майбутній версії `pip`).