it-swarm.com.de

Mit pip hinter einem Proxy

Ich versuche, pip hinter einem Proxy bei der Arbeit zu verwenden.

Eine der Antworten aus this post schlug vor, CNTLM zu verwenden. Ich habe es per diesem anderen Post installiert und konfiguriert, aber cntlm.exe -c cntlm.ini -I -M http://google.com liefere den Fehler Connection to proxy failed, bailing out.

Ich habe auch pip install -–proxy=user:[email protected]:3128 (den Standard-CNTLM-Port) ausprobiert, aber das hat Cannot fetch index base URL http://pypi.python.org/simple/ ausgelöst. Klar ist etwas mit dem Proxy los.

Weiß jemand, wie man genauer prüfen kann, ob CNTLM richtig eingerichtet ist, oder ob es einen anderen Ausweg gibt? Ich weiß, dass Sie die Umgebungsvariable http_proxy auch wie beschrieben here einstellen können, aber ich bin nicht sicher, welche Anmeldeinformationen Sie eingeben müssen. Die von cntlm.ini?

235
Rob

Um CNTLM für Windows einzurichten, folgen Sie diesem article . Für Ubuntu lesen Sie mein Blogbeitrag

Bearbeiten:

Um CNTLM auf einer beliebigen Plattform verwenden zu können, müssen Sie zunächst Ihren Benutzernamen und Ihr hashed Kennwort einrichten, bevor Sie http://127.0.0.1:3128 als Proxy für Ihren übergeordneten Proxy verwenden.

  1. Bearbeiten Sie die Konfiguration und fügen Sie wichtige Informationen wie Domäne, Benutzername, Kennwort und übergeordneten Proxy hinzu. 

  2. Hash-Passwort generieren.

    Windowscntlm –c cntlm.ini –H

    Ubuntu/Linuxcntlm -v -H -c /etc/cntlm.conf

  3. Entfernen Sie das Klartextpasswort aus der Konfiguration und ersetzen Sie es durch die generierten Passwörter.

Um zu überprüfen, ob es funktioniert:

Windowscntlm –M http://www.google.com

Ubuntu/LinuxSudo cntlm -M http://www.google.com/

Detaillierte Anweisungen finden Sie oben.

Update: 

Der Vollständigkeit halber konnte ich kürzlich CNTLM in Windows konfigurieren und verwenden. Beim Synchronisieren von Kindle für PC ist ein Problem aufgetreten, weil unser Proxy installiert und CNTLM für Windows installiert und konfiguriert wurde. Dieses Problem wurde für mich behoben. Siehe mein Artikel für weitere Details. 

57
Annie Lagang

Mit Ubuntu konnte ich nicht erreichen, dass die Proxy-Option wie angekündigt funktioniert. Der folgende Befehl hat nicht funktioniert:

Sudo pip --proxy http://web-proxy.mydomain.com install somepackage

Beim Exportieren der Umgebungsvariable https_proxy (beachten Sie jedoch https_proxy nicht http_proxy) wurde der Trick ausgeführt:

export https_proxy=http://web-proxy.mydomain.com

dann

Sudo -E pip install somepackage
236
Sameer Vaidya

Unter Windows nicht vergessen zu setzen

SET HTTPS_PROXY=<proxyHost>:<proxyPort>

worauf ich mich einstellen musste

pip install pep8
85
k7sleeper

Ich habe nicht mit mir gearbeitet. Ich habe https für Werke verwendet: 

pip install --proxy=https://[email protected]:port somepackage

Zum Aktualisieren fügen Sie -U hinzu.

48
Hugo Salvador

Sie können pip über HTTPS weiterhin verwenden, indem Sie das Stammzertifikat Ihres Unternehmens zur Datei cacert.pem in Ihrem Site-packages/pip-Ordner hinzufügen. Konfigurieren Sie dann pip für die Verwendung Ihres Proxy, indem Sie die folgenden Zeilen zu ~/pip/pip.conf (oder ~\pip\pip.ini unter Windows) hinzufügen:

[global]
proxy = [user:[email protected]]proxy.server:port

Das ist es. Sie müssen keine Pakete von Drittanbietern verwenden oder HTTPS aufgeben (natürlich kann Ihr Netzwerkadministrator immer noch sehen, was Sie tun).

37
djmoch

Das funktionierte für mich (unter Windows über CMD):

pip install --proxy proxyserver:port requests
26
damian1baran

für Windows; Stellen Sie Ihren Proxy im Befehl Eingabeaufforderung als ein
set HTTP_PROXY=domain\username:[email protected]:myproxyport

beispiel: 
set http_proxy=IND\namit.kewat:[email protected]:8880

25
namit
$ pip --proxy http://proxy-Host:proxy-port install packagename

Daran arbeitete ich 

15
Anand

In Windows 7:

pip install --proxy DOMAIN\user:[email protected]:port package

d.h.

pip install --proxy BR\neo:[email protected]:8080 virtualenv
12
Daniel

Gemäß unserer Sicherheitsrichtlinie Ich darf kein https verwenden mit pypi, SSL-Inspektion schreibt Zertifikate neu, dadurch wird die integrierte Sicherheit von pip für www.python.org zerstört. Der Mann in der Mitte ist der Netzwerkadministrator.

Also ich muss nur http verwenden. Dazu muss ich den System-Proxy sowie den Standard-Pypi überschreiben:

bin/pip install --proxy=squidproxy:3128 -i http://www.python.org/pypi --upgrade "SQLAlchemy>=0.7.10"
12
bbaassssiiee

Telefon als mobiler Hotspot/USB-Tethering

Wenn ich Schwierigkeiten habe, einen Weg durch den Unternehmensproxy zu finden, stelle ich eine Verbindung zum Internet über mein Telefon her (WLAN-Hotspot, wenn ich WLAN habe, USB-Anschluss, wenn nicht) und mache schnell einen pip install

Möglicherweise funktioniert das nicht für alle Setups, sollte aber die meisten Leute zur Not zwingen.

11
Tommy O'Dell

Öffnen Sie die Windows-Eingabeaufforderung.

Legen Sie Proxy-Umgebungsvariablen fest.

set http_proxy=http://user:[email protected]_ip:port
set https_proxy=https://user:[email protected]_ip:port

Installieren Sie Python-Pakete mit Proxy in derselben Windows-Eingabeaufforderung.

pip install --proxy="user:[email protected]_ip:port" package_name
8
Jyoti Yadav

In Ubuntu 14.04 LTS

   Sudo pip --proxy http://PROXYDOM:PROXYPORT install package

Prost

7

Ich hatte das gleiche Problem: Hinter einem Corporate Proxy mit Auth bei der Arbeit konnte ich keine Pip-Arbeit sowie Sublime Text 2 haben (gut, es funktionierte mit benutzerdefinierten Einstellungen meiner Proxy-Einstellungen) .. Für Pip (und Ich versuche das mit git), ich habe es mit der Installation von cntlm proxy ..__ gelöst. Es war sehr einfach zu konfigurieren:

  1. Bearbeiten Sie cntlm.ini
  2. Bearbeiten Sie die Felder "Benutzername", "Domäne", "Kennwort"
  3. Fügen Sie eine "Proxy" -Zeile mit Ihren Proxy-Einstellungen hinzu: server:port
  4. Stellen Sie sicher, dass die Zeile "NoProxy" "localhost" enthält (standardmäßig so).
  5. Beachten Sie den Standardport: 3128
  6. Speichern Sie und das ist es.

Um dies zu testen, starten Sie einfach ein neues Befehlszeilenprogramm und versuchen Sie Folgendes:

pip install Django --proxy=localhost:3128

Das hat für mich funktioniert. Ich hoffe, das wird dir helfen.

6
Johan Chouquet

wenn Sie pip per Proxy aktualisieren möchten, können Sie (z. B. in Windows) Folgendes verwenden:

python -m pip --proxy http://proxy_user:[email protected]_hostname:proxy_port insta
ll --upgrade pip
5

Richten Sie die Umgebungsvariable in den erweiterten Systemeinstellungen ... ein. In der Eingabeaufforderung sollte es sich wie folgt verhalten:

C:\Windows\system32> echo% http_proxy%

http: // Benutzername: passowrd @ Proxy: Port

C:\Windows\system32> echo% https_proxy%

http: // Benutzername: Kennwort @ Proxy: Port

Später sollte Simply pip install whatEver funktionieren.

5
mkkhedawat

Für Windows-Benutzer: Wenn Sie Flask-MongoAlchemy installieren möchten, verwenden Sie den folgenden Code

pip install Flask-MongoAlchemy --proxy="http://example.com:port"**
4
Nitin Panwar

Wie wäre es nur vor Ort zu tun? Möglicherweise können Sie von Ihrem https-Quellcode herunterladen

  1. Laden Sie Ihre Moduldatei herunter (mysql-connector-python-2.0.3.Zip /gz...etc). 
  2. Extrahieren Sie es und gehen Sie in das extrahierte Verzeichnis, in dem sich setup.py befindet und Ruf an:

    C:\mysql-connector-python-2.0.3>python.exe setup.py install
    
2
Sendi_t

Achtung, mit dem Befehl "pip search" ist etwas sehr Schlechtes .. Der Suchbefehl verwendet die Proxy-Einstellung nicht, unabhängig von der Art, wie sie übergeben wird.

Ich habe versucht, das Problem nur herauszufinden, indem ich den Befehl "Suchen" ausprobierte, und fand diesen Beitrag mit einer ausführlichen Erklärung zu diesem Fehler: https://github.com/pypa/pip/issues/1104

Ich kann den Fehler mit pip 1.5.6 unter Debian 8 mit Python 2.7.9 ..__ bestätigen. Der Befehl "pip install" funktioniert wie ein Zauber.

2
Pivert

Ich habe den Fehler erhalten:

[email protected]:~$ Sudo http_proxy=http://localhost:3128 pip install Django==1.8.8 
Downloading/unpacking Django==1.8.8
  Cannot fetch index base URL http://pypi.python.org/simple/
  Could not find any downloads that satisfy the requirement Django==1.8.8
No distributions at all found for Django==1.8.8
Storing complete log in /home/chris/.pip/pip.log

(Der Port des Proxyservers ist der ssh-Port, der an localhost:3128 weitergeleitet wird.).

Ich musste sowohl http- als auch https-Proxys festlegen, damit es funktioniert:

[email protected]:~$ Sudo http_proxy=http://localhost:3128 https_proxy=http://localhost:3128 pip install Django==1.8.8
Downloading/unpacking Django==1.8.8
  Downloading Django-1.8.8.tar.gz (7.3Mb): 7.3Mb downloaded
  Running setup.py Egg_info for package Django

    warning: no previously-included files matching '__pycache__' found under directory '*'
    warning: no previously-included files matching '*.py[co]' found under directory '*'
Installing collected packages: Django
  Running setup.py install for Django

    warning: no previously-included files matching '__pycache__' found under directory '*'
    warning: no previously-included files matching '*.py[co]' found under directory '*'
    changing mode of build/scripts-2.7/Django-admin.py from 644 to 755
    changing mode of /usr/local/bin/Django-admin.py to 755
    Installing Django-admin script to /usr/local/bin
Successfully installed Django
Cleaning up...

da http://pypi.python.org/simple/ auf https://pypi.python.org/simple umleitet, der Fehler von pip jedoch nicht angezeigt wird.

2
fadedbee

Bei CentOS (eigentlich finde ich alle Linux-Distributionen ähnlich) laufen

env|grep http_proxy

und

env|grep https_proxy

prüfen Sie, was die Ausgabe dieser Befehle ist (sie sollten Ihre Proxy-Adressen enthalten).

Wenn die Ausgaben leer sind oder falsche Werte haben, ändern Sie sie, zum Beispiel:

export http_proxy=http://10.1.1.1:8080
export https_proxy=http://10.1.1.1:8080

Versuchen Sie jetzt, einige Pakete mithilfe von pip abzurufen und zu installieren:

pip --proxy http://10.1.1.1:8080 install robotframework

und eigentlich habe ich den Fall nie getroffen, wenn es nicht funktioniert hat. Für einige Systeme müssen Sie eine Wurzel sein (Sudo ist nicht genug).

2
Paweł Wojtal

Ich bin auch kein Experte, aber ich habe es durch die Einstellung der all_proxy-Variablen in der Datei ~/.bashrc zum Laufen gebracht. Um die ~/.bashrc-Datei zu öffnen und sie von einem Terminal aus nach den Befehlen zu bearbeiten,

gedit ~/.bashrc &

Fügen Sie Folgendes am Ende der Datei hinzu,

export all_proxy="http://x.y.z.w:port"

Dann entweder ein neues Terminal öffnen oder im selben Terminal laufen lassen,

source ~/.bashrc

Die Einstellung von http_proxy und https_proxy-Variablen reicht für die einfache Verwendung pip install somepackage nicht aus. Irgendwie funktioniert Sudo -E pip install somepackage, aber das hat mir Probleme bereitet, falls ich eine lokale Installation von Anaconda im Ordner meiner Benutzer verwende.

P.S. - Ich verwende Ubuntu 16.04.

2
bytestorm

Wenn Sie Linux als root verwenden:

env https_proxy=http://$web_proxy_ip:$web_proxy_port pip install something

Wenn Sie env verwenden, wird die Variable https_proxy für die aktuelle Ausführung der Befehlspip-Installation exportiert.

$ web_proxy_ip ist der Hostname oder die IP Ihres Proxy $ web_proxy_port ist der Port 

1
Adail Junior

Das funktioniert für mich: 

pip --proxy proxy url:port command package
0
Brock Vond

Ich könnte dies erreichen, indem ich laufe:

pip install --proxy=http://user:[email protected]:3128 package==version

Ich verwende Python 3.7.3 in einem korporativen Proxy.

0
ncastro

für Windows gehen Sie zu C: /ProgramData/pip/pip.ini und setzen Sie

[global]

proxy = http: // YouKnowTheRest

mit Ihren Proxy-Details. Dadurch wird der Proxy für pip dauerhaft konfiguriert.

0
Kvothan

Legen Sie die folgende Umgebungsvariable fest: export PIP_PROXY=http://web-proxy.mydomain.com

0
FTM

Ich habe das Problem mit PIP in Windows mit "Fiddler" ( https://www.telerik.com/download/fiddler ) gelöst. Führen Sie nach dem Herunterladen und Installieren folgende Schritte aus:

"Regeln" => klicken Sie auf "Automatisch authentifizieren"

Beispiel: pip install virtualenv -proxy 127.0.0.1:8888

Öffnen Sie einfach Ihre Eingabeaufforderung und verwenden Sie sie.

https://github.com/pypa/pip/issues/1182 Suche nach "voltagex" (kommentiert am 22 Mai 2015)

0
Lucius Matos