ensurepip — Bootstrapping the pip installer

Added in version 3.4.

Source code: Lib/ensurepip


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

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

Примітка

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

Дивись також

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

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

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

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

Availability: not Android, not iOS, not WASI.

This module is not supported on mobile platforms or WebAssembly platforms.

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

Інтерфейс командного рядка викликається за допомогою перемикача -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: встановлює 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)

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).