જ્યારે હાલની પ્રોવિઝનિંગ સ્ક્રિપ્ટને પ્રોક્સી દ્વારા pip ચલાવવાની જરૂર હોય, ત્યારે pip ને subprocess તરીકે શરૂ કરો. pip ના આંતરિક Python ફંક્શનો સમર્થિત એપ્લિકેશન API નથી.

import subprocess
import sys

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

ઇચ્છિત પેકેજ અને પ્રોક્સી એન્ડપોઇન્ટ વાપરો. જાહેર મધ્યસ્થ દ્વારા મંજૂર જાહેર પેકેજ ડાઉનલોડ માટે HTTP પ્રોક્સી સૂચિ HTTP પ્રોક્સી આર્ગ્યુમેન્ટ માટે ઉમેદવારો પૂરા પાડે છે. sys.executable સ્ક્રિપ્ટ ચલાવતું Python ઇન્ટરપ્રિટર પસંદ કરે છે, તેથી PATH માંથી બીજી ઇન્સ્ટોલેશનનું pip અજાણતા બોલાવવાનું ટળે છે.

દરેક આર્ગ્યુમેન્ટ અલગ સૂચિ તત્વ ધરાવે છે. કોઈ શેલની જરૂર નથી, અને પ્રોક્સી URL ને વધારાની જોડીમાં એમ્બેડેડ શેલ અવતરણ ચિહ્નોની જરૂર નથી. check=True ઇન્સ્ટોલેશન નિષ્ફળ જાય તો CalledProcessError ઉત્પન્ન કરે છે, જે પ્રોવિઝનિંગ વર્કફ્લોને તે નિષ્ફળતા સંભાળવા દે છે.

ડાઉનલોડ માર્ગ આ pip કૉલ પર અથવા તેના subprocess પર્યાવરણમાં ગોઠવો. મૂળ પ્રોગ્રામમાં અન્યત્ર ગોઠવાયેલ Requests સત્ર pip ની અલગ પ્રક્રિયાને ગોઠવતું નથી.

ઇન્સ્ટોલેશન પછી એપ્લિકેશનના સામાન્ય પર્યાવરણ જીવનચક્ર ચાલુ રાખો. પહેલેથી ચાલી રહેલા ઇન્ટરપ્રિટરમાં ઇન્સ્ટોલ કરવાથી તેની વર્તમાન આયાત, કૅશ કે પાથ નવું પેકેજ તરત જ પ્રતિબિંબિત કરે તેની ખાતરી થતી નથી.

સંબંધિત લેખો