Adja át a proxyt az általad indított pip-folyamatnak
Hívja meg a pipet a szándékolt Python-értelmezőn keresztül, és adja át a --proxy kapcsolót külön subprocess-argumentumként, ahelyett hogy a pip belső részeit importálná.
Amikor egy meglévő provisioning-szkriptnek proxyn keresztül kell futtatnia a pipet, indítsa el a pipet subprocessként. A pip belső Python-függvényei nem támogatott alkalmazás-API-k.
import subprocess
import sys
subprocess.run([
sys.executable,
'-m', 'pip', 'install',
'--proxy', 'http://proxy.example:8080',
'example-package',
], check=True)
Használja a szándékolt csomagot és proxy-végpontot. A nyilvános közvetítőn keresztül engedélyezett nyilvános csomagletöltésekhez a HTTP-proxylista jelölteket kínál a HTTP-proxy argumentumhoz. A sys.executable kiválasztja a szkriptet futtató Python-értelmezőt, így elkerülhető, hogy véletlenül egy másik telepítés pip parancsa legyen meghívva a PATH-ból.
Minden argumentum külön listaelemet foglal el. Nincs szükség shellre, és a proxy URL nem igényel további pár beágyazott shell-idézőjelet. A check=True CalledProcessError kivételt dob, ha a telepítés meghiúsul, így a provisioning-munkafolyamat kezelheti ezt a hibát.
A letöltési útvonalat ezen a pip-híváson vagy annak subprocess-környezetében állítsa be. A szülőprogram más helyén beállított Requests-munkamenet nem állítja be a pip külön folyamatát.
A telepítés után folytassa az alkalmazás szokásos környezeti életciklusát. Egy már futó értelmezőbe történő telepítés nem garantálja, hogy annak jelenlegi importjai, gyorsítótárai vagy útvonalai azonnal tükrözik az új csomagot.