Skicka proxyn till den pip-process du startar
Anropa pip via den avsedda Python-tolken och ange --proxy som ett separat subprocess-argument i stället för att importera pips interna delar.
När ett befintligt provisioning-skript behöver köra pip via en proxy, starta pip som en subprocess. pips interna Python-funktioner är inte ett stödt applikations-API.
import subprocess
import sys
subprocess.run([
sys.executable,
'-m', 'pip', 'install',
'--proxy', 'http://proxy.example:8080',
'example-package',
], check=True)
Använd det avsedda paketet och proxy-slutpunkten. För nedladdningar av offentliga paket som tillåts via en offentlig mellanhand tillhandahåller HTTP-proxylistan kandidater för HTTP-proxyargumentet. sys.executable väljer den Python-tolk som kör skriptet, så detta undviker att av misstag anropa en annan installations pip från PATH.
Varje argument upptar ett separat listelement. Ingen shell behövs, och proxy-URL:en behöver inte ett extra par inbäddade shell-citattecken. check=True utlöser CalledProcessError om installationen misslyckas, vilket låter provisioning-arbetsflödet hantera det felet.
Konfigurera nedladdningsvägen på detta pip-anrop eller i dess subprocess-miljö. En Requests-session som konfigurerats någon annanstans i föräldraprogrammet konfigurerar inte pips separata process.
Efter installationen fortsätter du applikationens normala miljölivscykel. Att installera i en tolk som redan körs garanterar inte att dess nuvarande importer, cacheminnen eller sökvägar omedelbart återspeglar det nya paketet.