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>
: 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
()¶ 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
).