easy_install stellt keine Verbindung über einen Proxy her

26769
robots.jpg

Ich verwende Ubuntu Server 10.04 64-Bit unter VirtualBox und es scheint, dass alles außer easy_install und pip eine Verbindung zum Internet herstellen kann. Ich habe die Umgebungsvariable http_proxy gesetzt und exportiert und auch die Proxy-Adresse an jedem anderen Ort eingerichtet, den ich kenne. Easy_install gibt jedoch immer "Netzwerk ist nicht erreichbar" zurück:

:~$ 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 :~$ 

Ich kann sogar von Python aus auf die Site zugreifen:

>>> 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' 

Ich habe das gleiche Ergebnis mit anderen Paketen als erhalten virtualenv. Sucht easy_install woanders nach Verbindungsinformationen, oder fehlt mir etwas?

18

3 Antworten auf die Frage

31
Strubbl

Es ist ein Problem mit sudo. Wenn Sie verwenden sudo, ist die Variable $http_proxyin diesem Zusammenhang unbekannt.

sudo -iöffnet eine Root-Shell. Dort können Sie die $http_proxyVariable erneut setzen und dann funktioniert easy_install - Sie müssen sudo nicht verwenden, da Sie bereits ein Superuser sind.

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

Oder Sie können Ihre aktuelle Umgebung im sudo-Kontext haben und den "get root-Schritt" speichern:

$ sudo -E easy_install virtualenv 
Vielen Dank. Zahlen, die ich über Dinge wie den Umfang vergesse, wenn ich nicht programmiere. Ich muss http / proxy in / etc / environment auf den anderen Installationen eingerichtet haben, bei denen ich kein Problem hatte. robots.jpg vor 13 Jahren 1
BRILLANT. Keine Führer haben das. Robert Grant vor 10 Jahren 0
7
Andrew

Anstatt eine Root-Shell zu öffnen, sudo -ikönnen Sie den Befehl ausführen

$ sudo -E easy_install virtualenv 

Der -ESwitch behält Ihre aktuelle Umgebung bei.

Ein anderes Problem ist, dass einige sudoähnliche Ersetzungen (z. B. dzdo) diese Variablen nicht beibehalten, selbst wenn Sie sie dazu auffordern. Sam Brightman vor 13 Jahren 0
1
Kyle O'Donnell

Ich musste hinzufügen

# export http_proxy=x.x.x.x:YY # export https_proxy=x.x.x.x:YY # export ftp_proxy=x.x.x.x:YY