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