Pitisha proksi kwenye mchakato wa pip unaouanzisha
Ita pip kupitia kiintepreza cha Python unachokusudia na toa --proxy kama hoja ya subprocess tofauti badala ya kuagiza sehemu za ndani za pip.
Wakati skripti iliyopo ya uandalizi inahitaji kuendesha pip kupitia proksi, anzisha pip kama subprocess. Vitendaji vya ndani vya Python vya pip si API ya programu inayotumika.
import subprocess
import sys
subprocess.run([
sys.executable,
'-m', 'pip', 'install',
'--proxy', 'http://proxy.example:8080',
'example-package',
], check=True)
Tumia kifurushi na kiendeo cha proksi unachokusudia. Kwa upakuaji wa vifurushi vya umma unaoruhusiwa kupitia mpatanishi wa umma, orodha ya proksi za HTTP hutoa wagombea wa hoja ya proksi ya HTTP. sys.executable huchagua kiintepreza cha Python kinachoendesha skripti, kwa hivyo inaepuka kuita kwa bahati mbaya pip ya usakinishaji mwingine kutoka PATH.
Kila hoja inachukua kipengele tofauti cha orodha. Hakuna shell inayohitajika, na URL ya proksi haihitaji jozi ya ziada ya nukuu za shell zilizopachikwa. check=True huinua CalledProcessError ikiwa usakinishaji unashindikana, hivyo kuruhusu mtiririko wa uandalizi kushughulikia hitilafu hiyo.
Sanidi njia ya upakuaji kwenye wito huu wa pip au katika mazingira ya subprocess yake. Kipindi cha Requests kilichosanidiwa mahali pengine katika programu mzazi hakisanidi mchakato tofauti wa pip.
Baada ya usakinishaji, endelea mzunguko wa kawaida wa maisha ya mazingira ya programu. Kusakinisha kwenye kiintepreza kinachoendesha tayari hakuhakikishi kwamba uagizaji wake wa sasa, akiba au njia zinaakisi kifurushi kipya mara moja.