Kur një skript ekzistues provisioning duhet të ekzekutojë pip përmes një proxy, nisni pip si subprocess. Funksionet e brendshme Python të pip nuk janë një API aplikacioni e mbështetur.

import subprocess
import sys

subprocess.run([
    sys.executable,
    '-m', 'pip', 'install',
    '--proxy', 'http://proxy.example:8080',
    'example-package',
], check=True)

Përdorni paketën dhe pikën fundore të proxy-t të synuara. Për shkarkimet e paketave publike të lejuara përmes një ndërmjetësi publik, lista e proxy-ve HTTP ofron kandidatë për argumentin e proxy-t HTTP. sys.executable zgjedh interpretuesin Python që ekzekuton skriptin, kështu që shmanget thirrja aksidentale e pip të një instalimi tjetër nga PATH.

Çdo argument zë një element të veçantë liste. Nuk nevojitet shell dhe URL-ja e proxy-t nuk kërkon një çift shtesë thonjëzash shell të integruara. check=True ngre CalledProcessError nëse instalimi dështon, duke i mundësuar rrjedhës së punës së provisioning të trajtojë atë dështim.

Konfiguroni rrugën e shkarkimit në këtë thirrje pip ose në mjedisin e subprocess-it të saj. Një sesion Requests i konfiguruar diku tjetër në programin prind nuk konfiguron procesin e veçantë të pip.

Pas instalimit, vazhdoni ciklin normal të jetës së mjedisit të aplikacionit. Instalimi në një interpretues që tashmë po ekzekutohet nuk garanton që importet, cache-t ose shtigjet aktuale të tij pasqyrojnë menjëherë paketën e re.

Artikuj të ngjashëm