Проксини иштеткен pip процессүңүзгө өткөрүп бериңиз
pip-ти көздөлгөн Python интерпретатору аркылуу чакырып, --proxy-ну pip-тин ички бөлүктөрүн импорттоонун ордуна өзүнчө subprocess аргументи катары бериңиз.
Учурдагы provisioning скрипти pip-ти прокси аркылуу иштетүүгө муктаж болгондо, pip-ти subprocess катары баштаңыз. pip-тин ички Python функциялары колдоого алынган колдонмо API эмес.
import subprocess
import sys
subprocess.run([
sys.executable,
'-m', 'pip', 'install',
'--proxy', 'http://proxy.example:8080',
'example-package',
], check=True)
Көздөлгөн пакетти жана прокси акыркы чекитин колдонуңуз. Коомдук ортомчу аркылуу уруксат берилген коомдук пакет жүктөөлөрү үчүн HTTP прокси тизмеси HTTP прокси аргументине талапкерлерди сунуштайт. sys.executable скрипти иштетип жаткан Python интерпретаторун тандайт, ошондуктан PATH-тен башка орнотуунун pip-ин байкабастан чакыруудан сактайт.
Ар бир аргумент өзүнчө тизме элементин ээлейт. Shell талап кылынбайт жана прокси URL-ине кошумча жупташкан shell тырмактарынын кереги жок. check=True орнотуу ийгиликсиз болсо CalledProcessError көтөрөт, бул provisioning жумуш агымына ошол катаны иштетүүгө мүмкүндүк берет.
Жүктөө маршрутун ушул pip чакыруусунда же анын subprocess чөйрөсүндө конфигурациялаңыз. Аталык программанын башка жеринде конфигурацияланган Requests сессиясы pip-тин өзүнчө процессин конфигурациялабайт.
Орнотуудан кийин колдонмонун кадимки чөйрө жашоо цикли менен улантыңыз. Мурунтан иштеп жаткан интерпретаторго орнотуу анын учурдагы импорттору, кэштери же жолдору жаңы пакетти дароо чагылдыраарына кепилдик бербейт.