एक प्रामाणिक प्रॉक्सी के पीछे खिड़कियों पर पाइप का उपयोग कैसे करें


90

मेरा कंप्यूटर एक विंडोज़ सर्वर (सक्रिय निर्देशिका का उपयोग करके) पर एक प्रॉक्सी के पीछे खिड़कियां चला रहा है, और मैं यह पता नहीं लगा सकता कि इसके साथ pip(पायथन 3 में) कैसे प्राप्त करूं। मैंने उपयोग करने की कोशिश की है --proxy, लेकिन यह अभी भी टाइमआउट है। मैंने एक लंबा टाइमआउट (60) सेट करने की भी कोशिश की है, लेकिन इससे कोई फर्क नहीं पड़ा। मेरी प्रॉक्सी सेटिंग्स सही हैं, और मैंने उन लोगों के साथ उनकी तुलना की है जो सुनिश्चित करने के लिए कि मैं TortoiseHG में सफलतापूर्वक उपयोग कर रहा हूं।

वहाँ किसी भी अन्य चाल है कि किसी को पता है कि मैं कोशिश कर सकते हैं, या वहाँ कुछ pipहै खिड़कियों के संबंध में सीमा के साथ?

अद्यतन: मेरी असफल कोशिशों में पीपा की खोज शामिल है। मैं बस वास्तव में कुछ स्थापित करने की कोशिश की है और यह काम किया है। हालांकि खोज अभी भी विफल है। क्या यह बग को इंगित करता है pipया वे अलग तरीके से काम करते हैं?

जवाबों:


107

मैंने 2 विकल्पों की कोशिश की है जो दोनों मेरी कंपनी के NTLM प्रमाणित प्रॉक्सी पर काम करते हैं। विकल्प 1 का उपयोग करना है--proxy http://user:pass@proxyAddress:proxyPort

यदि आपको अभी भी परेशानी हो रही है, तो मैं एक प्रॉक्सी प्रमाणीकरण सेवा स्थापित करने का सुझाव दूंगा (मैं CNTLM का उपयोग करता हूं ) और उस पर पाइप को इंगित करता हूं , जैसे कि ---proxy http://localhost:3128


1
CNTLM उपकरण सक्रिय रूप से बनाए रखा जाता है और वास्तव में अच्छी तरह से काम करने लगता है।
मिचेल फिता

6
मैं यह काम नहीं कर सका, जो मैंने किए गए सभी
टेंटेटिवों से

2
यदि आपके पासवर्ड या उपयोगकर्ता नाम में विशेष वर्ण हैं, तो विशेष वर्ण से पहले इसे \ _ से बच लें। यह बढ़िया काम करता है।
एरोकिया

क्या मैं इसे सही ढंग से समझता हूं कि आप प्रॉक्सी से अनुरोध भेजने के लिए पाइप बता रहे हैं, किसी दिए गए उपयोगकर्ता और पासवर्ड के साथ स्वयं को प्रमाणित करके http कनेक्शन? इसका मतलब है कि आपका पासवर्ड प्रॉक्सी सर्वर पर अनएन्क्रिप्टेड भेजा जाएगा, सही !? मुझे एक बड़ा सुरक्षा जोखिम लगता है या मैं कुछ याद कर रहा हूं?
रॉबर्ट

इसने मेरे साथ एक Microsoft फ़ोरफ़्रंट फ़ायरवॉल के लिए काम किया
राउल सालिनास-मोंटियागुडो

65

मुझे यह पता लगाने में कुछ घंटे लगे, लेकिन मुझे आखिरकार इसे CNTLM का उपयोग करके काम करना पड़ा और बाद में इसे सिर्फ एक पाइप कॉन्फिगर फाइल के साथ काम करने के लिए मिला। यहाँ है कि मैं इसे कैसे पाइप विन्यास फ़ाइल के साथ काम मिल गया ...

समाधान:

1. विंडोज में अपने यूजर प्रोफाइल डायरेक्टरी (उदा। C: \ Users \ Sync) पर नेविगेट करें और " pip " नामक एक फोल्डर बनाएं "

2. इस निर्देशिका में " pip.ini " नामक एक फ़ाइल बनाएँ (उदा। C: \ Users \ Sync \ pip \ pip.ini) और उसमें निम्नलिखित प्रविष्ट करें:

    [global]
    trusted-host = pypi.python.org
                   pypi.org
                   files.pythonhosted.org
    proxy = http://[domain name]%5C[username]:[password]@[proxy address]:[proxy port]

[डोमेन नाम] , [उपयोगकर्ता नाम] , [पासवर्ड] , [प्रॉक्सी पता] और [प्रॉक्सी पोर्ट] को बदलेंअपनी जानकारी के साथ को ।

ध्यान दें, अपने अगर [डोमेन नाम] , [उपयोगकर्ता नाम] या [पासवर्ड] विशेष वर्ण है, तो आप के लिए है प्रतिशत एन्कोड | सांकेतिक शब्दों में बदलनाउन्हें ।

3. इस बिंदु पर मैं बिना किसी समस्या के " पाइप इंस्टॉल " चलाने में सक्षम था ।

उम्मीद है कि यह दूसरों के लिए भी काम करता है!

पुनश्च: यह आपके पासवर्ड को सादे पाठ में संग्रहीत करने के कारण एक सुरक्षा चिंता का विषय हो सकता है। यदि यह एक समस्या है, तो इस लेख का उपयोग करके CNTLM स्थापित करने पर विचार करें (सादे पाठ के बजाय हैशेड पासवर्ड का उपयोग करने की अनुमति देता है)। बाद proxy = 127.0.0.1:3128में ऊपर उल्लिखित "pip.ini" फ़ाइल में सेट करें ।


2
Pip.ini स्थान के बारे में अधिक जानकारी यहाँ पाई जा सकती है । आप PIP_CONFIG_FILEpip.ini फ़ाइल को इंगित करने के लिए पर्यावरण चर सेट कर सकते हैं
Mahesha999

1
इसे प्यार करना!!!! इतना साफ - बस याद रखें कि अधिकांश परदे के पीछे आपको मैन्युअल रूप से अपना पासवर्ड दर्ज करने देंगे। कभी भी अपना पासवर्ड क्लियरटेक्स्ट में न छोड़ें!
19

1
एक और बहुत ही महत्वपूर्ण वैश्विक सेटिंग को यहां जोड़ा जा सकता है, मिरर साइट है, उदाहरण के लिए, " इंडेक्स- url = pypi.tuna.tsinghua.edu.cn/simple " को जोड़ने से पीआरसी चीन में पाइप डाउनलोड की गति बहुत बढ़ जाएगी। और लिनक्स के तहत संबंधित फ़ाइल ~ / .pip / pip.conf है
टिंगक्यूयन LI

4
[डोमेन नाम] क्या है?
एलेक्स बी

1
@AlexB, [डोमेन नाम] आपके विंडोज़ डोमेन नाम
माइक पेनिंगटन

45

यह मैंने इसे कैसे सेट किया है:

  1. प्रशासक के रूप में कमांड प्रॉम्प्ट (CMD) खोलें।
  2. प्रॉक्सी सेटिंग्स निर्यात करें:

    set http_proxy=http://username:password@proxyAddress:port

    set https_proxy=https://username:password@proxyAddress:port

  3. वह पैकेज स्थापित करें जिसे आप स्थापित करना चाहते हैं:

    pip install PackageName

उदाहरण के लिए:

उदाहरण


4
यह निश्चित रूप से पहली कोशिश है। पायथन क्रॉस-प्लेटफॉर्म है, और यह सामान्य रूप से लिनक्स पर हम जो करते हैं उसके बराबर है। विंडोज (एक ही प्रॉक्सी के पीछे) में समस्याएं थीं, जहां --proxyतर्क में यह बिल्कुल नहीं होगा, लेकिन मानक एनवी वार दृष्टिकोण ने पहली बार काम किया। रिकॉर्ड के लिए, हम no_proxyप्रॉक्सी के माध्यम से बाहर जाने की कोशिश कर रहे अन्य आंतरिक अनुरोधों से बचने के लिए भी निर्धारित करते हैं।
randomsock

win10 पर मेरे लिए काम नहीं करता है। की तरह एक एमुलेटर कंसोल उपकरण का उपयोग cygwinया cmder: और फिर यह linux तरीके से करना export http_proxy=<proxy>और export https_proxy=<proxy>और फिर बस करनाpip install <package>
बकी

इसने मेरे लिए काम किया लेकिन --proxyकमांड-लाइन के झंडे ने कभी नहीं किया। विंडोज 10.
एम्ब्रोसचैपल

15

मैं विंडोज 7 पर एक ही मुद्दे में भाग गया। मैंने इसके अंदर एक "pip.ini" फ़ाइल के साथ "पाइप" फ़ोल्डर बनाकर काम करने में कामयाब रहा। मैंने इस फ़ोल्डर को "C: \ Users \ {my.username} \ AppData \ Roaming" के अंदर रखा, क्योंकि पायथन प्रलेखन के अनुसार:

Windows पर कॉन्फ़िगरेशन फ़ाइल% APPDATA% \ pip \ pip.ini है

Pip.ini फ़ाइल में मेरे पास केवल:

[global]
proxy = [proxy address]:[proxy port]

तो कोई उपयोगकर्ता नाम: पासवर्ड। और यह ठीक काम कर रहा है।


1
मेरे मामले में यह केवल तभी काम करता है जब मैं अपना उपयोगकर्ता नाम और पासवर्ड इस फाइल में क्लीयरटेक्स्ट में डाल देता हूं ...: / और क्यों CMD से "ping XYZ" की तरह काम कर रहा है। क्यों IE सेटिंग्स का उपयोग कर पाइप नहीं है?
hmrc87

7

मेरे पास एक समान मुद्दा था, और मैंने पाया कि मेरी कंपनी NTLM प्रॉक्सी प्रमाणीकरण का उपयोग करती है। यदि आप अपने pip.log में यह त्रुटि देखते हैं, तो संभवतः यह समस्या है:

URL नहीं लाया जा सका http://pypi.python.org/simple/pyreadline : HTTP त्रुटि 407: प्रॉक्सी प्रमाणीकरण आवश्यक (ISA सर्वर अनुरोध को पूरा करने के लिए प्राधिकरण की आवश्यकता है। वेब प्रॉक्सी फ़िल्टर तक पहुँच से इनकार किया गया है।

NTLMaps को मध्यवर्ती प्रॉक्सी बनकर NTLM प्रॉक्सी सर्वर के साथ इंटरफेस करने के लिए इस्तेमाल किया जा सकता है।

NTLMAPs डाउनलोड करें, इसमें शामिल सर्वर को अपडेट करें। एफजीजी, मेनफ्रेम फाइल चलाएं, फिर पाइप की प्रॉक्सी सेटिंग 127.0.0.1 पर इंगित करें।

मुझे इन डिफ़ॉल्ट मानों को server.cfgफ़ाइल में बदलने की आवश्यकता है:

LM_PART:1
NT_PART:1

# Highly experimental option. See research.txt for details.
# LM - 06820000
# NT - 05820000
# LM + NT - 
NTLM_FLAGS: 07820000

http://ntlmaps.sourceforge.net/


1

आप अपने प्रॉक्सी से प्रमाण पत्र के साथ समस्याओं में भी भाग सकते हैं। अपने प्रॉक्सी के प्रमाण पत्र को पुनः प्राप्त करने के तरीके के बारे में यहाँ बहुत सारे उत्तर हैं।

एक विंडोज़ होस्ट पर, पाइप को अपने प्रॉक्सी को साफ़ करने की अनुमति देने के लिए, आप एक पर्यावरण चर सेट करना चाह सकते हैं जैसे:

PIP_CERT=C:\path\to\certificate\file\in\pem\form\myproxycert.pem

आप उसी परिणाम के साथ --certतर्क का उपयोग भी कर सकते हैं PIP


1

मैं एक दूरदराज के खिड़कियों के माहौल पर एक ही मुद्दा था। मैंने कई समाधान यहां या अन्य सिमिलर पोस्ट पर पाए लेकिन कुछ भी काम नहीं किया। अंत में, समाधान काफी सरल था। मुझे NO_PROXYcmd के साथ सेट करना था :

set NO_PROXY="<domain>\<username>:<password>@<host>:<port>"
pip install <packagename>

आपको दोहरे उद्धरण चिह्नों का उपयोग करना होगा और NO_PROXYऊपरी मामले पर सेट करना होगा। आप भी जोड़ सकते हैंNO_PROXY प्रत्येक बार कंसोल का उपयोग करने के बजाय इसे सेट करने के बजाय एक पर्यावरण चर के रूप में ।

मुझे उम्मीद है कि अगर यहां कोई अन्य समाधान काम करता है तो यह मदद करेगा।


1

cntlm स्थापित करें: Cntlm Cntlm: C में फास्ट NTLM ऑथेंटिकेशन प्रॉक्सी

Cntlm.ini को कॉन्फ़िगर करें:

उपयोगकर्ता नाम ob66759

डोमेन नाम

पासवर्ड गुप्त

प्रॉक्सी प्रॉक्सी १.२०80० .०

प्रॉक्सी प्रॉक्सी २.२०80० .०

नोप्रोक्सी लोकलहोस्ट, 127.0.0। *, 10. *, 192.168। *

3128 सुनो

127.0.0.1 अनुमति दें

#तुम्हारी आईपी

अनुमति दें 10.106.18.138

शुरू करें:

cntlm -v -c cntlm.ini

अब cmd.exe में:

पाइप स्थापित करें - नवीनीकरण पाइप --proxy 127.0.0.1:3128

Collecting pip
  Downloading https://files.pythonhosted.
44c8a6e917c1820365cbebcb6a8974d1cd045ab4/

    100% |███████████████████████████████
Installing collected packages: pip
  Found existing installation: pip 9.0.1
    Uninstalling pip-9.0.1:
      Successfully uninstalled pip-9.0.1

Successfully installed pip-10.0.1

काम करता है!

आप पासवर्ड भी छिपा सकते हैं: https://stormpoopersmith.com/2012/03/20/use-applications-behind-a-corporate-proxy/


1

windows10 और इसके बाद के संस्करण के समाधान पर एक ही मुद्दा मेरे लिए काम नहीं कर रहा है।

एक एमुलेटर कंसोल टूल का उपयोग करें cygwinऔर फिर इसे डिफ़ॉल्ट लिनक्स तरीके से करें:

export http_proxy=<proxy>
export https_proxy=<proxy>
pip install <package>

और चीजें ठीक चल रही हैं।


विंडोज 10 के तहत, प्रॉक्सी को प्रमाणित करने के साथ, यह मेरे लिए काम करता है: इंटरमीडिएट प्रॉक्सी के रूप में cntlm का उपयोग करना, फिर msdos प्रॉम्प्ट पर: "सेट https_proxy = localhost: 3128" और फिर "पाइप इंस्टॉल -U सेटप्टूल = = 41.0.1"
mrtexaz
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.