pip's SOCKS-Unterstützung setzt voraus, dass die optionale SOCKS-Abhängigkeit für den Python-Interpreter verfügbar ist, der pip ausführt. Wenn dieser Interpreter den Paketindex nur über SOCKS erreichen kann, holen Sie die Abhängigkeit zuerst auf einem anderen verbundenen Rechner.

Auf dem verbundenen Rechner bereiten Sie ein kleines Wheel-Verzeichnis vor:

python -m pip download --only-binary=:all: --dest wheelhouse PySocks

Übertragen Sie dieses Verzeichnis auf den Zielrechner und nutzen Sie dann dessen vorgesehenen Interpreter für die lokale Installation:

python -m pip install --no-index --find-links wheelhouse PySocks

--no-index hält diesen Vorbereitungsschritt bei den bereitgestellten Dateien. Er versucht nicht, das ursprüngliche Verbindungsproblem durch eine weitere Indexanfrage zu lösen.

Sobald die Abhängigkeit verfügbar ist, kann für den eigentlichen Paketvorgang die SOCKS-Route gewählt werden:

python -m pip install --proxy socks5h://proxy.example.net:1080 package_name

Für erlaubte öffentliche Paketdownloads ohne Proxy-Authentifizierung ersetzen Sie den Endpunkt durch einen Kandidaten aus der SOCKS5-Proxy-Liste und wählen das gewünschte Paket. Die Schreibweise socks5h verlangt die Auflösung des Zielnamens über den Proxy; socks5 wählt in diesem Client-Pfad die lokale Zielauflösung.

Halten Sie die Vorbereitungsinstallation und den Paketvorgang beim selben Interpreter und in derselben Umgebung. Wird PySocks in einen anderen Python installiert, bleiben die Importe des Ziel-pip unverändert. Die nützliche Prüfung ist, welcher python -m pip-Befehl die Aufgabe ausführt, nicht ob ein anderes Terminal meldet, PySocks sei installiert.

Ähnliche Artikel