ଆପଣ ଆରମ୍ଭ କରୁଥିବା 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 କୁ ଅକସ୍ମାତ କଲ କରିବାରୁ ବଞ୍ଚାଯାଏ।
ପ୍ରତ୍ୟେକ ଆର୍ଗୁମେଣ୍ଟ ଏକ ଅଲଗା ତାଲିକା ଉପାଦାନ ଅଧିକାର କରେ। କୌଣସି shell ଆବଶ୍ୟକ ନାହିଁ, ଏବଂ ପ୍ରକ୍ସି URL କୁ ଅତିରିକ୍ତ ଯୋଡ଼ି ଏମ୍ବେଡେଡ shell ଉଦ୍ଧୃତି ଚିହ୍ନ ଆବଶ୍ୟକ ନାହିଁ। ଇନଷ୍ଟଲେସନ ବିଫଳ ହେଲେ check=True CalledProcessError ଉଠାଏ, ଯାହା provisioning ୱାର୍କଫ୍ଲୋକୁ ସେହି ବିଫଳତା ସମ୍ଭାଳିବାକୁ ଦିଏ।
ଡାଉନଲୋଡ ପଥକୁ ଏହି pip କଲ ଉପରେ କିମ୍ବା ଏହାର subprocess ପରିବେଶରେ ବିନ୍ୟାସ କରନ୍ତୁ। ମୂଳ ପ୍ରୋଗ୍ରାମରେ ଅନ୍ୟତ୍ର ବିନ୍ୟାସିତ Requests ସେସନ pip ର ଅଲଗା ପ୍ରକ୍ରିୟାକୁ ବିନ୍ୟାସ କରେ ନାହିଁ।
ଇନଷ୍ଟଲେସନ ପରେ ଆପ୍ଲିକେସନର ସାଧାରଣ ପରିବେଶ ଜୀବନଚକ୍ର ଜାରି ରଖନ୍ତୁ। ପୂର୍ବରୁ ଚାଲୁଥିବା ଇଣ୍ଟରପ୍ରିଟରରେ ଇନଷ୍ଟଲ କଲେ ଏହାର ବର୍ତ୍ତମାନର ଆମଦାନୀ, କ୍ୟାସ କିମ୍ବା ପଥ ନୂଆ ପ୍ୟାକେଜକୁ ତୁରନ୍ତ ପ୍ରତିଫଳିତ କରିବ ବୋଲି ନିଶ୍ଚିତତା ନାହିଁ।