നിങ്ങൾ ആരംഭിക്കുന്ന pip പ്രോസസ്സിലേക്ക് പ്രോക്സി നൽകുക
ഉദ്ദേശിച്ച Python ഇന്റർപ്രെട്ടർ വഴി pip വിളിക്കുകയും pip-ന്റെ ആന്തരിക ഭാഗങ്ങൾ ഇറക്കുമതി ചെയ്യുന്നതിനുപകരം --proxy ഒരു പ്രത്യേക subprocess ആർഗ്യുമെന്റായി നൽകുകയും ചെയ്യുക.
നിലവിലുള്ള ഒരു provisioning സ്ക്രിപ്റ്റിന് പ്രോക്സി വഴി 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 ഉയർത്തുന്നു, ഇത് provisioning വർക്ക്ഫ്ലോയ്ക്ക് ആ പരാജയം കൈകാര്യം ചെയ്യാൻ അനുവദിക്കുന്നു.
ഡൗൺലോഡ് പാത ഈ pip വിളിയിലോ അതിന്റെ subprocess പരിസ്ഥിതിയിലോ കോൺഫിഗർ ചെയ്യുക. മാതൃ പ്രോഗ്രാമിൽ മറ്റൊരിടത്ത് കോൺഫിഗർ ചെയ്ത Requests സെഷൻ pip-ന്റെ പ്രത്യേക പ്രോസസ്സ് കോൺഫിഗർ ചെയ്യുന്നില്ല.
ഇൻസ്റ്റാളേഷനുശേഷം ആപ്ലിക്കേഷന്റെ സാധാരണ പരിസ്ഥിതി ജീവിതചക്രം തുടരുക. ഇതിനകം പ്രവർത്തിക്കുന്ന ഇന്റർപ്രെട്ടറിൽ ഇൻസ്റ്റാൾ ചെയ്യുന്നത് അതിന്റെ നിലവിലെ ഇറക്കുമതികൾ, കാഷുകൾ അല്ലെങ്കിൽ പാതകൾ പുതിയ പാക്കേജ് ഉടനടി പ്രതിഫലിപ്പിക്കുമെന്ന് ഉറപ്പുനൽകുന്നില്ല.