ensurepip — Bootstrapping the pip installer

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


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

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

Примітка

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

Дивись також

Встановлення модулів Python

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

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

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

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

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

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

python -m ensurepip

This invocation will install pip if it is not already installed, but otherwise does nothing. To ensure the installed version of pip is at least as recent as the one bundled with ensurepip, pass the --upgrade option:

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

Returns a string specifying the bundled version of pip that will be installed when bootstrapping an environment.

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

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

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

upgrade indicates whether or not to upgrade an existing installation of an earlier version of pip to the bundled version.

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