pip के SOCKS समर्थन के लिए आवश्यक है कि वैकल्पिक SOCKS निर्भरता उस Python इंटरप्रेटर के लिए उपलब्ध हो जो pip चलाता है। यदि वह इंटरप्रेटर पैकेज इंडेक्स तक केवल SOCKS से पहुँच सकता है, तो पहले किसी दूसरी कनेक्टेड मशीन पर निर्भरता लाएँ।

कनेक्टेड मशीन पर एक छोटी व्हील डायरेक्टरी तैयार करें:

python -m pip download --only-binary=:all: --dest wheelhouse PySocks

उस डायरेक्टरी को लक्ष्य मशीन पर स्थानांतरित करें, फिर स्थानीय इंस्टॉलेशन के लिए उसके इच्छित इंटरप्रेटर का उपयोग करें:

python -m pip install --no-index --find-links wheelhouse PySocks

--no-index इस बूटस्ट्रैप चरण को दिए गए फ़ाइलों पर ही रखता है। यह एक और इंडेक्स अनुरोध करके मूल कनेक्टिविटी समस्या हल करने का प्रयास नहीं करता।

निर्भरता उपलब्ध होने पर वास्तविक पैकेज कार्य के लिए SOCKS मार्ग चुना जा सकता है:

python -m pip install --proxy socks5h://proxy.example.net:1080 package_name

प्रॉक्सी प्रमाणीकरण के बिना अनुमत सार्वजनिक पैकेज डाउनलोड के लिए, SOCKS5 प्रॉक्सी सूची से किसी उम्मीदवार के साथ एंडपॉइंट बदलें और इच्छित पैकेज चुनें। socks5h वर्तनी प्रॉक्सी के माध्यम से गंतव्य नाम का रिज़ॉल्यूशन माँगती है; socks5 इस क्लाइंट पथ में स्थानीय गंतव्य रिज़ॉल्यूशन चुनता है।

बूटस्ट्रैप इंस्टॉल और पैकेज कार्य को एक ही इंटरप्रेटर और वातावरण पर रखें। PySocks को किसी दूसरे Python में इंस्टॉल करने से लक्ष्य pip के इम्पोर्ट अपरिवर्तित रहते हैं। उपयोगी जाँच यह है कि कौन-सा python -m pip कमांड काम करता है, यह नहीं कि कोई दूसरा टर्मिनल बताता है कि PySocks इंस्टॉल है।

संबंधित लेख