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.

Skyldar greinar