Proslijedite proxy procesu pip koji pokrećete
Pozovite pip kroz predviđeni Python interpretator i navedite --proxy kao zaseban subprocess argument umjesto uvoza unutrašnjosti pipa.
Kada postojeća skripta za provizioniranje mora pokrenuti pip kroz proxy, pokrenite pip kao subprocess. Unutrašnje Python funkcije pipa nisu podržani API za aplikacije.
import subprocess
import sys
subprocess.run([
sys.executable,
'-m', 'pip', 'install',
'--proxy', 'http://proxy.example:8080',
'example-package',
], check=True)
Koristite predviđeni paket i proxy završnu točku. Za preuzimanja javnih paketa dopuštena kroz javni posrednik, popis HTTP proxyja nudi kandidate za argument HTTP proxyja. sys.executable odabire Python interpretator koji pokreće skriptu, pa se tako izbjegava slučajno pozivanje pip druge instalacije iz PATH-a.
Svaki argument zauzima zaseban element popisa. Ljuskica nije potrebna, a URL proxyja ne treba dodatni par ugrađenih navodnika ljuskice. check=True podiže CalledProcessError ako instalacija ne uspije, što omogućuje tijeku provizioniranja da obradi taj neuspjeh.
Konfigurirajte putanju preuzimanja na ovom pozivu pipa ili u okruženju njegovog subprocessa. Requests sesija konfigurirana drugdje u roditeljskom programu ne konfigurira zasebni proces pipa.
Nakon instalacije nastavite uobičajeni životni ciklus okruženja aplikacije. Instalacija u interpretator koji već radi ne jamči da njegovi trenutni uvozi, predmemorije ili putanje odmah odražavaju novi paket.