Lat proxynum víðari til pip-prosesin, sum tú setir í gongd
Kalla pip gjøgnum tann ætlaða Python-tulkin og lat --proxy sum eitt serstakt subprocess-argument í staðin fyri at importa innanhýsið í pip.
Tá ein verandi provisioning-skriptur skal koyra pip gjøgnum eitt proxy, set pip í gongd sum ein subprocess. Innanhýsis Python-funktiónirnar í pip eru ikki eitt stuðlað aplikatións-API.
import subprocess
import sys
subprocess.run([
sys.executable,
'-m', 'pip', 'install',
'--proxy', 'http://proxy.example:8080',
'example-package',
], check=True)
Brúka tað ætlaða pakkan og proxy-endapunktið. Fyri niðurtøkur av almennum pakkum, sum eru loyvdar gjøgnum ein almenna millumgongd, veitir HTTP-proxy-listin kandidatar til HTTP-proxy-argumentið. sys.executable velur tann Python-tulkin, sum koyrir skriptin, so hetta forðar fyri at kalla pip frá aðrari innseting úr PATH av misgáum.
Hvørt argument tekur eitt serstakt listuelement. Eingin shell er neyðug, og proxy-URL-in tørvar ikki eitt eyka par av innbygdum shell-sitatum. check=True reisir CalledProcessError, um innsetingin miseydnast, so provisioning-arbeiðsfloyggjurin kann viðgera ta miseydnaðu innsetingina.
Set niðurtøku-leiðina upp á hesi pip-kallingini ella í subprocess-umhvørvinum hjá henni. Ein Requests-sessjón, sum er sett upp aðrastaðni í foreldraprogramminum, setur ikki tann serstaka pip-prosesin upp.
Eftir innsetingina, hald fram við vanliga umhvørvislívsringinum hjá aplikatiónini. At innsetja í ein tulkin, sum longu koyrir, tryggjar ikki, at núverandi import, cache ella slóðir beint endurspegla tann nýggja pakkan.