जिस pip प्रक्रिया को आप शुरू करते हैं उसे प्रॉक्सी दें
इच्छित Python इंटरप्रेटर के ज़रिए pip को कॉल करें और pip के आंतरिक भागों को आयात करने के बजाय --proxy को अलग subprocess आर्ग्युमेंट के रूप में दें।
जब किसी मौजूदा प्रोविज़निंग स्क्रिप्ट को प्रॉक्सी के ज़रिए 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 की अलग प्रक्रिया को कॉन्फ़िगर नहीं करता।
इंस्टॉलेशन के बाद एप्लिकेशन के सामान्य वातावरण जीवनचक्र को जारी रखें। पहले से चल रहे इंटरप्रेटर में इंस्टॉल करना यह गारंटी नहीं देता कि उसके वर्तमान आयात, कैश या पथ नए पैकेज को तुरंत दर्शाएँगे।