So verwenden Sie pip unter Windows hinter einem authentifizierenden Proxy

Lesezeit: 6 Minuten

So verwenden Sie pip unter Windows hinter einem authentifizierenden
Aquavitae

Auf meinem Computer läuft Windows hinter einem Proxy auf einem Windows-Server (unter Verwendung von Active Directory), und ich kann nicht herausfinden, wie ich damit umgehen kann pip (bei Python3). Ich habe versucht mit --proxy, aber es gibt immer noch nur Timeouts. Ich habe auch versucht, ein langes Timeout (60s) einzustellen, aber das hat keinen Unterschied gemacht. Meine Proxy-Einstellungen sind korrekt und ich habe sie mit denen verglichen, die ich erfolgreich in TortoiseHG verwende, um sicherzugehen.

Gibt es andere Tricks, von denen jemand weiß, die ich ausprobieren kann, oder gibt es eine Einschränkung in pip in Bezug auf Windows-Proxys?

Aktualisieren: Meine fehlgeschlagenen Versuche beinhalteten die Suche nach pypi. Ich habe gerade versucht, etwas zu installieren und es hat funktioniert. Die Suche schlägt trotzdem fehl. Weist dies auf einen Fehler in pip oder funktionieren die anders?

Ich habe 2 Optionen ausprobiert, die beide auf dem NTLM-authentifizierten Proxy meiner Firma funktionieren. Option 1 ist zu verwenden --proxy http://user:pass@proxyAddress:proxyPort

Wenn Sie immer noch Probleme haben, würde ich vorschlagen, einen Proxy-Authentifizierungsdienst zu installieren (ich verwende CNTLM) und mit Pip darauf zeigen, also so etwas wie --proxy http://localhost:3128

  • Das CNTLM-Tool wird aktiv gewartet und scheint wirklich gut zu funktionieren.

    – Michał Fita

    19. Dezember ’12 um 10:46

  • Ich konnte es nicht zum Laufen bringen, egal alle Versuche, die ich gemacht habe

    – Jambr

    4. Feb. ’15 um 12:04

  • Wenn Ihr Passwort oder Benutzername Sonderzeichen enthält, maskieren Sie es einfach mit vor dem Sonderzeichen. Es funktioniert gut.

    – Arockien

    13. Januar ’17 um 4:51

  • Verstehe ich das richtig, dass Sie pip anweisen, die Anfrage an den Proxy zu senden und sich mit dem angegebenen Benutzer und Passwort über eine http-Verbindung zu authentifizieren? Das heißt, Ihr Passwort wird unverschlüsselt an den Proxy-Server gesendet, oder!? Sieht für mich nach einem großen Sicherheitsrisiko aus oder übersehe ich etwas?

    – Robert

    10. Apr. ’19 um 14:52

  • Bei mir hat es mit einer Microsoft Forefront Firewall funktioniert

    – Raúl Salinas-Monteagudo

    17. April ’19 um 7:42

1641825752 529 So verwenden Sie pip unter Windows hinter einem authentifizierenden
Synchronisieren

Ich habe ein paar Stunden gebraucht, um das herauszufinden, aber ich habe es endlich mit CNTLM zum Laufen gebracht und danach nur mit einer Pip-Konfigurationsdatei zum Laufen gebracht. So habe ich es mit der pip-Konfigurationsdatei zum Laufen gebracht …

Lösung:

1. Navigieren Sie in Windows zu Ihrem Benutzerprofilverzeichnis (z. B. C:BenutzerSync) und erstellen Sie einen Ordner mit dem Namen “Pip

2. Erstellen Sie eine Datei mit dem Namen “pip.ini” in dieses Verzeichnis (Bsp. C:UsersSyncpippip.ini) und geben Sie folgendes ein:

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

Ersetzen [domain name], [username], [password], [proxy address] und [proxy port] mit eigenen Angaben.

Beachten Sie, wenn Ihr [domain name], [username] oder [password] Sonderzeichen hat, musst du Prozentcodierung | kodieren Ihnen.

3. An diesem Punkt konnte ich laufen”pip installieren“ohne Probleme.

Hoffentlich funktioniert das auch bei anderen!

PS: Dies kann ein Sicherheitsproblem darstellen, da Ihr Passwort im Klartext gespeichert wird. Wenn dies ein Problem ist, sollten Sie CNTLM mit einrichten Dieser Beitrag (ermöglicht die Verwendung eines gehashten Passworts anstelle von Klartext). Danach einstellen proxy = 127.0.0.1:3128in der oben erwähnten Datei “pip.ini”.

  • Weitere Informationen zum Standort von pip.ini finden Sie Hier. Sie können einstellen PIP_CONFIG_FILE Umgebungsvariable, die auf die Datei pip.ini verweist

    – Mahesha999

    7. September ’16 um 13:05

  • Liebe es!!!! Also sauber – denken Sie daran, dass Sie bei den meisten Proxys Ihr Passwort manuell eingeben können. Hinterlassen Sie Ihr Passwort NIEMALS im Klartext!

    – avgvstvs

    9. März ’18 um 19:54

  • Eine weitere sehr wichtige globale Einstellung kann hier hinzugefügt werden, ist die Mirror-Site, zum Beispiel fügen Sie “index-url = pypi.tuna.tsinghua.edu.cn/simple” würde die Pip-Download-Geschwindigkeit in der VR China stark erhöhen. Und die entsprechende Datei unter Linux ist ~/.pip/pip.conf

    – TingQian LI

    13. März ’18 um 10:30


  • was ist [domain name]?

    – Alex B

    24. Mai ’18 um 20:20

  • @AlexB, [domain name] bezieht sich auf deine Fenster Domainname

    – Mike Pennington

    11. April ’19 um 20:42

1641825752 282 So verwenden Sie pip unter Windows hinter einem authentifizierenden
Heinrich Cloete

So habe ich es eingerichtet:

  1. Öffnen Sie die Eingabeaufforderung (CMD) als Administrator.
  2. Exportieren Sie die Proxy-Einstellungen:

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

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

  3. Installieren Sie das Paket, das Sie installieren möchten:

    pip install PackageName

Beispielsweise:

Beispiel

  • Dies ist definitiv das erste, was Sie versuchen sollten. Python ist plattformübergreifend und entspricht dem, was wir normalerweise unter Linux tun. Hatte Probleme unter Windows (hinter demselben Proxy), wo die --proxy Argument hätte es einfach nicht, aber der Standardansatz env var funktionierte beim ersten Mal. Für das Protokoll stellen wir auch no_proxy um zu vermeiden, dass andere interne Anfragen versuchen, über den Proxy zu gehen.

    – Randomsocke

    2. November ’17 um 12:08

  • funktioniert bei mir unter win10 nicht. Verwenden Sie ein Emulator-Konsolentool wie cygwin oder cmder und dann machen Sie es auf die Linux-Art: export http_proxy=<proxy> und export https_proxy=<proxy> und dann mach einfach pip install <package>

    – bock

    14. Juni ’19 um 10:47


  • Das hat bei mir funktioniert, aber die --proxy Befehlszeilen-Flag hat es nie getan. Windows10.

    – AmbroseKapelle

    8. Januar ’20 um 2:17

Ich bin unter Windows 7 auf das gleiche Problem gestoßen. Ich habe es geschafft, es zum Laufen zu bringen, indem ich einen Ordner “pip” mit einer Datei “pip.ini” darin erstellt habe. Ich habe diesen Ordner in “C:Users{my.username}AppDataRoaming” abgelegt, weil laut der Python-Dokumentation:

Unter Windows ist die Konfigurationsdatei %APPDATA%pippip.ini

In der pip.ini-Datei habe ich nur:

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

Also kein Benutzername:Passwort. Und es funktioniert einwandfrei.

So verwenden Sie pip unter Windows hinter einem authentifizierenden
Monkut

Ich hatte ein ähnliches Problem und stellte fest, dass mein Unternehmen die NTLM-Proxy-Authentifizierung verwendet. Wenn Sie diesen Fehler in Ihrem pip.log sehen, ist dies wahrscheinlich das Problem:

URL konnte nicht abgerufen werden http://pypi.python.org/simple/pyreadline: HTTP-Fehler 407: Proxy-Authentifizierung erforderlich (Der ISA-Server benötigt eine Autorisierung, um die Anforderung zu erfüllen. Der Zugriff auf den Web-Proxy-Filter wird verweigert.)

NTLMaps kann als Schnittstelle zum NTLM-Proxyserver verwendet werden, indem es ein Zwischenproxy wird.

Laden Sie NTLMAPs herunter, aktualisieren Sie die enthaltene server.cfg, führen Sie die Datei main.py aus und zeigen Sie die Proxy-Einstellung von pip auf 127.0.0.1:.

Ich musste diese Standardwerte auch in der ändern server.cfg Datei an:

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/

1641825752 168 So verwenden Sie pip unter Windows hinter einem authentifizierenden
Bucky

Das gleiche Problem unter Windows10 und höher funktioniert bei mir nicht.

Verwenden Sie ein Emulator-Konsolentool wie cygwin und dann mach es auf die Standard-Linux-Methode:

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

und die Dinger funktionieren gut.

1641825752 466 So verwenden Sie pip unter Windows hinter einem authentifizierenden
Verbundener Wanderer

Ich hatte das gleiche Problem in einer Remote-Windows-Umgebung. Ich habe viele Lösungen ausprobiert, die hier oder in anderen ähnlichen Beiträgen gefunden wurden, aber nichts hat funktioniert. Schließlich war die Lösung ganz einfach. ich musste einstellen NO_PROXY mit cmd:

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

Sie müssen doppelte Anführungszeichen verwenden und festlegen NO_PROXY in Großbuchstaben. Sie können auch hinzufügen NO_PROXY als Umgebungsvariable, anstatt sie jedes Mal festzulegen, wenn Sie die Konsole verwenden.

Ich hoffe, das hilft, wenn eine andere hier gepostete Lösung funktioniert.

.

310360cookie-checkSo verwenden Sie pip unter Windows hinter einem authentifizierenden Proxy

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy