Nododiet starpniekserveri pip procesam, kuru palaižat
Izsauciet pip caur paredzēto Python interpretatoru un nododiet --proxy kā atsevišķu subprocess argumentu, nevis importējiet pip iekšējās daļas.
Kad esošam nodrošināšanas skriptam pip jāpalaiž caur starpniekserveri, palaidiet pip kā subprocess. pip iekšējās Python funkcijas nav atbalstīts lietojumprogrammas API.
import subprocess
import sys
subprocess.run([
sys.executable,
'-m', 'pip', 'install',
'--proxy', 'http://proxy.example:8080',
'example-package',
], check=True)
Izmantojiet paredzēto pakotni un starpniekservera galapunktu. Publisku pakotņu lejupielādēm, kas atļautas caur publisku starpnieku, HTTP starpniekserveru saraksts piedāvā kandidātus HTTP starpniekservera argumentam. sys.executable izvēlas Python interpretatoru, kas izpilda skriptu, tāpēc tiek izvairīts no nejaušas citas instalācijas pip izsaukšanas no PATH.
Katrs arguments aizņem atsevišķu saraksta elementu. Shell nav nepieciešams, un starpniekservera URL nav nepieciešams papildu iegultu shell pēdiņu pāris. check=True izraisa CalledProcessError, ja instalēšana neizdodas, ļaujot nodrošināšanas darbplūsmai apstrādāt šo kļūdu.
Konfigurējiet lejupielādes maršrutu šajā pip izsaukumā vai tā subprocess vidē. Requests sesija, kas konfigurēta citur vecākprogrammā, nekonfigurē atsevišķo pip procesu.
Pēc instalēšanas turpiniet parasto lietojumprogrammas vides dzīves ciklu. Instalēšana jau darbojošā interpretatorā negarantē, ka tā pašreizējie importi, kešatmiņas vai ceļi uzreiz atspoguļos jauno pakotni.