easy_install प्रॉक्सी के माध्यम से कनेक्ट नहीं होगा


19

मैं VirtualBox के तहत Ubuntu Server 10.04 64-बिट चला रहा हूं, और ऐसा लगता है कि easy_install और pip को छोड़कर सब कुछ इंटरनेट से जुड़ सकता है। मैंने http_proxy पर्यावरण चर सेट और निर्यात किया है, और हर उस स्थान के बारे में प्रॉक्सी पता भी सेट कर रहा हूँ जिसके बारे में मैं जानता हूँ। फिर भी easy_install हमेशा "नेटवर्क पहुंच से बाहर है":

:~$ echo $http_proxy
http://192.168.1.25:80/

:~$ grep "http_proxy" /etc/bash.bashrc
export http_proxy=http://192.168.1.25:80/

:~$ grep "http_proxy" /etc/wgetrc
http_proxy = http://192.168.1.25:80/

:~$ ping pypi.python.org
PING pypi.python.org (82.94.164.168) 56(84) bytes of data.
64 bytes from pypi.python.org (82.94.164.168): icmp_seq=1 ttl=53 time=114 ms
64 bytes from pypi.python.org (82.94.164.168): icmp_seq=2 ttl=53 time=113 ms
64 bytes from pypi.python.org (82.94.164.168): icmp_seq=3 ttl=53 time=113 ms
64 bytes from pypi.python.org (82.94.164.168): icmp_seq=4 ttl=53 time=113 ms
64 bytes from pypi.python.org (82.94.164.168): icmp_seq=5 ttl=53 time=114 ms
64 bytes from pypi.python.org (82.94.164.168): icmp_seq=6 ttl=53 time=113 ms
^C
--- pypi.python.org ping statistics ---
6 packets transmitted, 6 received, 0% packet loss, time 5006ms
rtt min/avg/max/mdev = 113.367/113.871/114.678/0.614 ms

:~$ sudo easy_install virtualenv
Searching for virtualenv
Reading http://pypi.python.org/simple/virtualenv/
Download error: [Errno 101] Network is unreachable -- Some packages may not be found!
Reading http://pypi.python.org/simple/virtualenv/
^Cinterrupted
:~$

मैं भी पायथन से साइट से कनेक्ट कर सकते हैं:

>>> import urllib
>>> obj = urllib.urlopen('http://pypi.python.org/simple/virtualenv/')
>>> obj.readlines()[0]
'<html><head><title>Links for virtualenv</title></head><body><h1>Links for virtualenv</h1><a href="../../packages/source/v/virtualenv/virtualenv-1.5.1.tar.gz#md5=3daa1f449d5d2ee03099484cecb1c2b7">virtualenv-1.5.1.tar.gz</a><br/>\n'

मैं पैकेज के अलावा अन्य के साथ एक ही परिणाम पड़ा है virtualenv। क्या कनेक्शन की जानकारी के लिए easy_install कहीं और दिख रहा है, या क्या कुछ स्पष्ट है जो मुझे याद आ रहा है?

जवाबों:


31

यह एक समस्या है sudo। यदि आप उपयोग करते हैं sudo, तो चर $http_proxyइस संदर्भ में अज्ञात है।

sudo -iजड़ खोल देता है। वहां आप $http_proxyचर को फिर से सेट कर सकते हैं और फिर easy_install कार्य कर सकते हैं - आपको sudo का उपयोग करने की आवश्यकता नहीं है क्योंकि आप पहले से ही सुपरयुसर हैं।

$ sudo -i
# export http_proxy=http://192.168.1.25:80
# easy_install virtualenv

या आप सूडो संदर्भ में अपना वास्तविक वातावरण रख सकते हैं और "गेट स्टेप" को इसके माध्यम से सहेज सकते हैं:

$ sudo -E easy_install virtualenv

1
धन्यवाद। आंकड़े हैं कि जब मैं प्रोग्रामिंग नहीं कर रहा हूँ तो गुंजाइश जैसी चीजों के बारे में भूल जाता हूं। मुझे http_proxyअन्य संस्थापनों पर / etc / वातावरण में स्थापित होना चाहिए जहाँ मुझे कोई समस्या नहीं थी।
robots.jpg

प्रतिभाशाली। किसी भी गाइड के पास यह नहीं है।
रॉबर्ट ग्रांट

7

अपने साथ एक रूट शेल खोलने के बजाय sudo -iआप कमांड चला सकते हैं

$ sudo -E easy_install virtualenv

-Eस्विच अपने वर्तमान माहौल को बरकरार रखता है।


एक अन्य गोचा यह है कि कुछ सूडो जैसी प्रतिस्थापन (उदाहरण के लिए dzdo) इन चरों को संरक्षित करने से इनकार कर देती हैं, भले ही आप उन्हें बताएं।
सैम ब्राइटमैन

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.