Python गाइड · 2 मिनट पढ़ें

प्रॉक्सी के पीछे pip और conda

फायरवॉल के पीछे से पायथन पैकेज स्थापित करना एक HTTP प्रॉक्सी सेटिंग पर निर्भर करता है, जो पिप में तीन तरीकों से और कोंडा में दो तरीकों से प्रदर्शित होता है। यहाँ प्रत्येक है, TLS-निरीक्षण कॉर्पोरेट प्रॉक्सियों के लिए विश्वसनीय-होस्ट ट्रिक के साथ।

एक प्रॉक्सी, इसे सेट करने के कई स्थान

pip और conda दोनों HTTPS के माध्यम से डेटा प्राप्त करते हैं, इसलिए दोनों को s4m HTTP endpoint पर पोर्ट 3128 पर, USER:PASS के साथ प्रमाणित करने की आवश्यकता है। pip इस सेटिंग को तीन तरीकों से उजागर करता है: एकल कमांड के लिए --proxy ध्वज, स्थायीता के लिए proxy पंक्ति में pip.conf, और PIP_PROXY पर्यावरण चर। pip मानक http_proxy / https_proxy चर को भी मानता है, इसलिए एक शेल-स्तरीय निर्यात अक्सर चीजों को ठीक कर देता है बिना pip की अपनी कॉन्फ़िगरेशन को छुए।

conda has its own config file. Set proxy_servers for http and https with conda config, which writes to ~/.condarc; conda also reads the environment variables. With s4m you point both tools at http://USER:PASS@proxy.s4m.online:3128. See the proxy page, the sibling npm/yarn guide, and the shared environment-variable guide for how these variables cross tools.

pip और conda, हर विधि

pip के लिए ध्वज, कॉन्फ़िग फ़ाइल और पर्यावरण चर; conda के लिए condarc; TLS-निरीक्षण प्रॉक्सियों के लिए trusted-host। USER:PASS को बदलें।

bash
# --- pip: single command ---
pip install --proxy http://USER:PASS@proxy.s4m.online:3128 requests

# --- pip: environment variables (whole session) ---
export https_proxy="http://USER:PASS@proxy.s4m.online:3128"
export http_proxy="http://USER:PASS@proxy.s4m.online:3128"
pip install requests

# --- pip: persistent config (~/.config/pip/pip.conf, or pip.ini on Windows) ---
cat > ~/.config/pip/pip.conf <<'CFG'
[global]
proxy = http://USER:PASS@proxy.s4m.online:3128
timeout = 30
CFG

# --- conda: writes to ~/.condarc ---
conda config --set proxy_servers.http  http://USER:PASS@proxy.s4m.online:3128
conda config --set proxy_servers.https http://USER:PASS@proxy.s4m.online:3128
conda install numpy

# --- TLS-inspecting corporate proxy? mark hosts trusted for pip ---
pip install --proxy http://USER:PASS@proxy.s4m.online:3128 \
  --trusted-host pypi.org --trusted-host files.pythonhosted.org requests

सही विधि चुनें

सेटिंग कितनी स्थायी होनी चाहिए?

एक इंस्टॉल

pip install --proxy http://USER:PASS@proxy.s4m.online:3128 का उपयोग करें। कुछ भी स्थायी नहीं है - साझा या अस्थायी मशीन पर आदर्श।

पूर्ण सत्र

http_proxy और https_proxy को निर्यात करें। उस शेल में दोनों pip और conda (और अधिकांश CLI उपकरण) निकासी का उपयोग करते हैं जब तक कि आप उन्हें अनसेट न करें।

स्थायी प्रति-उपयोगकर्ता

प्रॉक्सी को pip.conf और ~/.condarc में लिखें ताकि हर इंस्टॉलेशन स्वचालित रूप से बिना झंडे दोहराए रूट किया जा सके।

TLS इंटरसेप्शन

यदि एक कॉर्पोरेट प्रॉक्सी TLS को फिर से हस्ताक्षरित करती है, तो pip प्रमाणपत्रों को अस्वीकार कर सकता है। pypi.org और files.pythonhosted.org के लिए --trusted-host जोड़ें, या प्रॉक्सी का CA स्थापित करें।

TLS इंटरसेप्शन, प्रमाणीकरण और ईमानदारी

प्रॉक्सी के पीछे सबसे भ्रमित करने वाली pip विफलता टाइमआउट नहीं बल्कि एक SSL प्रमाणपत्र त्रुटि है। यह तब होता है जब एक कॉर्पोरेट प्रॉक्सी HTTPS को इंटरसेप्ट और फिर से साइन करती है: pip एक अविश्वसनीय प्रमाणपत्र देखता है और मना कर देता है। सही समाधान है कि प्रॉक्सी की रूट CA को आपके ट्रस्ट स्टोर में स्थापित करें; त्वरित समाधान है --trusted-host pypi.org --trusted-host files.pythonhosted.org। s4m की अपनी प्रॉक्सी TLS को इंटरसेप्ट नहीं करती है, इसलिए आप हमारे एंडपॉइंट के साथ इससे प्रभावित नहीं होंगे — यह केवल आपके एन्क्रिप्टेड ट्रैफ़िक को आगे बढ़ाती है।

s4m का HTTP प्रॉक्सी एक प्रमाणित डेटासेंटर एंडपॉइंट है, मीटर के अनुसार भुगतान — CI छवियों और डेवलपर बॉक्स के लिए एक साफ निकासी जो नियंत्रित नेटवर्क के पीछे से PyPI और conda चैनलों तक पहुंचना चाहिए। यह एक आवासीय प्रॉक्सी नहीं है और न ही एक पैकेज मिरर है। अपने पासवर्ड में विशेष वर्णों को एन्कोड करें (@ बन जाता है %40), और आंतरिक पैकेज इंडेक्स के लिए no_proxy सेट करें। एक 407 का मतलब है खराब क्रेडेंशियल्स — 407 गाइड देखें। जब CI को एक अनुमति प्राप्त निकासी की आवश्यकता होती है, तो एक विशिष्ट व्यक्तिगत IP जोड़ें; किसी भी एंडपॉइंट को उपकरणों के साथ मान्य करें।

FAQ

प्रश्न, उत्तरित

मैं एकल pip इंस्टॉल के लिए प्रॉक्सी कैसे सेट करूं?

pip install कमांड में --proxy http://USER:PASS@proxy.s4m.online:3128 पास करें। कुछ भी स्थायी नहीं होता, जो साझा मशीनों पर सुविधाजनक है; स्थायी सेटिंग के लिए pip.conf या http_proxy env var का उपयोग करें।

प्रॉक्सी के पीछे SSL प्रमाणपत्र त्रुटि के साथ pip क्यों विफल होता है?

एक कॉर्पोरेट प्रॉक्सी संभवतः TLS को इंटरसेप्ट और फिर से साइन कर रही है, इसलिए pip एक अविश्वसनीय प्रमाणपत्र देखता है। प्रॉक्सी की रूट CA स्थापित करें, या --trusted-host pypi.org --trusted-host files.pythonhosted.org का उपयोग करें। s4m TLS को इंटरसेप्ट नहीं करता है, इसलिए हमारा एंडपॉइंट इससे बचता है।

मैं प्रॉक्सी का उपयोग करने के लिए conda को कैसे कॉन्फ़िगर करूं?

अपने प्रॉक्सी URL के लिए conda config --set proxy_servers.http और proxy_servers.https चलाएँ; यह ~/.condarc में लिखता है। conda http_proxy और https_proxy पर्यावरण चर को भी मानता है।

क्या pip और conda को SOCKS5 या HTTP एंडपॉइंट की आवश्यकता है?

पोर्ट 3128 पर HTTP एंडपॉइंट। दोनों उपकरण HTTPS के माध्यम से HTTP CONNECT प्रॉक्सी के माध्यम से पैकेज लाते हैं, इसलिए उन्हें http://USER:PASS@proxy.s4m.online:3128. पर इंगित करें।

अपने Python इंस्टॉलेशन को अनब्लॉक करें

pip और conda को proxy.s4m.online:3128 पर प्रमाणित HTTP एंडपॉइंट के माध्यम से रूट करें। मीटर के अनुसार भुगतान करें, कोई TLS इंटरसेप्शन नहीं, CI अनुमति सूचियों के लिए समर्पित IP उपलब्ध है।

लोगों ने इस पृष्ठ को खोजकर पाया

वास्तविक खोज वाक्यांश जिनका यह पृष्ठ उत्तर देता है — लिंक किए गए वाक्यांश उस पृष्ठ को खोलते हैं जो उन्हें गहराई से कवर करता है।