Wie man pip mit Proxies verwendet

Richten Sie mit pip Proxys ein, um Einschränkungen zu umgehen, die Sicherheit zu verbessern und die Paketverwaltung zu optimieren.
12 min lesen
How to Use Pip with Proxies blog image

In diesem Artikel erfahren Sie, wie Sie Proxys mit pip konfigurieren und verwenden, um eine reibungslose Paketverwaltung in eingeschränkten Netzwerken zu ermöglichen.

Unterschiede zwischen öffentlichen und privaten Proxies

Bei der Auswahl eines Bevollmächtigten ist es wichtig zu wissen, ob er öffentlich oder privat sein wird.

Öffentliche Vertretungen

Öffentliche Proxys können von jedermann genutzt werden und sind oft nicht authentifiziert. Sie können zwar einen schnellen Zugriff auf eine IP-Adresse bieten, haben aber auch Nachteile: langsamere Geschwindigkeiten, instabile Verbindungen und potenzielle IP-Sperren. Da sie kostenlos und weithin verfügbar sind, fehlen ihnen oft wichtige Funktionen wie Proxy-Rotationen, Caching und Zugriffskontrolle, was sie in einer Produktionsumgebung unzuverlässig macht.

Eine öffentliche URL kann wie folgt formatiert sein: https://proxyserver:port.

Private Vertretungen

Private Proxys erfordern eine Authentifizierung und bieten mehr Sicherheit, Stabilität und erweiterte Funktionen – allerdings in der Regel zu einem höheren Preis. Sie bieten eine sichere, schnelle und zuverlässige Verbindung zu einer dedizierten IP-Adresse sowie Funktionen wie Proxy-Authentifizierung und Rotation.

Der Zugang wird in der Regel durch Authentifizierung kontrolliert, indem ein Benutzername und ein Kennwort der Proxy-URL vorangestellt werden, etwa so: https://username:password@proxyserver:port.

Verwendung von Proxies mit pip

Um einen Proxy mit pip zu verwenden, müssen Sie einige Details über Ihren Proxy sammeln. Das nächste Beispiel verwendet einen öffentlichen Proxy mit den folgenden Details:

  • Eine Proxy-Adresse für den Proxy-Dienst
  • Der Port, den der Proxy-Dienst für die Kommunikation benötigt

Die folgende Proxy-Liste bietet täglich getestete öffentliche Proxy-Adressen, die für Tests nützlich sein können, aber nicht in Produktionsumgebungen verwendet werden sollten.

Überprüfen Sie innerhalb des proxy-list-Repos die Datei proxy-list-status.txt, um einen funktionierenden öffentlichen Proxy zu finden. Dazu suchen Sie in der Datei nach einer Adresse, neben der das Erfolgsflag steht, das anzeigt, dass sie funktioniert:

Auswahl eines öffentlichen Bevollmächtigten

Verwenden Sie für dieses Lernprogramm 45.185.162.203:999 als Ihre öffentliche Proxy-Adresse. Dies bedeutet, dass die Adresse des Proxy-Servers http://45.185.162.203:999 lautet .

Konfigurieren eines Pip-Proxys mit der Befehlszeile

Der schnellste Weg, einen Pip-Proxy zu konfigurieren, ist die Übergabe der Adresse beim Aufruf des Pip-Install-Befehls mit der Kommandozeilenoption --proxy.

Testen Sie mit der öffentlichen Proxy-Adresse den Zugriff auf den Proxy und die Pakete mit dem folgenden Befehl:

# Public Proxy
pip install boto3 --proxy http://45.185.162.203:999

Diese Methode ist hilfreich, um Proxys schnell zu testen und zu validieren, bevor ein neuer Proxy dauerhaft konfiguriert wird. Bei der Veröffentlichung von Pip-Paketen kann so die Verfügbarkeit von einer anderen IP-Adresse aus überprüft werden.

Konfigurieren eines pip-Proxys mit der pip-Konfigurationsdatei

Um einen pip-Proxy dauerhaft zu konfigurieren, ist die Datei pip config eine einfache und deklarative Lösung. Ihr Speicherort hängt von Ihrem Betriebssystem ab und kann in den folgenden Verzeichnissen gefunden werden:

  • Global: Systemweite Konfigurationsdatei, die von allen Benutzern gemeinsam genutzt wird.
  • Benutzer: Pro-Benutzer-Konfigurationsdatei für den Benutzer, der den pip-Prozess ausführt.
  • Standort: Konfigurationsdatei für einzelne Umgebungen unter Verwendung von virtuellen Python-Umgebungen.

Diese Konfigurationsdateien können für jedes System an den folgenden Stellen gefunden oder erstellt werden:

Linux/macOS

Auf Linux-basierten Systemen heißt die pip-Konfigurationsdatei pip.conf und befindet sich an den folgenden Stellen:

  • Global:
    • Debian-basierte Systeme: Bearbeiten oder erstellen Sie pip.conf im Verzeichnis/etc`.
    • macOS-basierte Systeme: Bearbeiten oder erstellen Sie /Library/Application Support/pip/pip.conf.
  • Benutzer:
    • Debian-basierte Systeme: Bearbeiten oder erstellen Sie die Datei ~/pip/pip.conf.
    • macOS-basierte Systeme: Bearbeiten oder erstellen Sie die Konfigurationsdatei ~/.config/pip/pip.conf.
  • Standort: Wenn sie in einer virtuellen Python-Umgebung geladen wird, befindet sie sich unter $VIRTUAL_ENV/pip.conf.

Windows

Auf einem Windows-System ist die Datei eine pip.ini-Datei und kann an den folgenden Stellen gefunden werden:

  • Global: Bearbeiten oder erstellen Sie die Datei C:ProgramDatapippip.ini. Beachten Sie, dass diese Datei auf Windows-Systemen standardmäßig ausgeblendet ist, aber beschreibbar ist.
  • Benutzer: Bearbeiten oder erstellen Sie pip.ini in %APPDATA%pip.
  • Standort: Wenn Sie in einer virtuellen Python-Umgebung geladen werden, bearbeiten oder erstellen Sie die Konfigurationsdatei unter %VIRTUAL_ENV%pip.ini.

Inhalt der Konfig-Datei

Für dieses Beispiel wird eine Pip-Konfigurationsdatei für eine virtuelle Python-Umgebung verwendet. Bearbeiten Sie in einer aktivierten virtuellen Umgebung $VIRTUAL_ENV/pip.conf auf Debian-basierten Systemen oder %VIRTUAL_ENV%pip.ini auf Windows.

In der Konfigurationsdatei müssen Sie den Proxy-Schlüssel mit Ihrem gewünschten HTTP- oder HTTPS-Proxy aktualisieren:

[global]
proxy = http://45.185.162.203:999

Sobald die Datei gespeichert ist, wird der Proxy automatisch mit jedem pip-Befehl verwendet, so dass das zuvor erwähnte Proxy-Flag nicht mehr benötigt wird:

(venv) $ pip install boto3

Weitere Details zu den Konfigurationsoptionen, die in der pip-Konfigurationsdatei verfügbar sind, finden Sie in der Dokumentation des Projekts.

Konfigurieren eines pip-Proxys mit Umgebungsvariablen

Das Setzen von Systemumgebungsvariablen stellt sicher, dass ein Proxy für pip und alle anderen HTTP-Anforderungen auf einem System verwendet wird. Dazu werden sowohl die HTTP_PROXY- als auch die HTTPS_PROXY-Umgebungsvariablen verwendet, die häufig von Software wie pip als Systemproxy für HTTP-Anforderungen referenziert werden.

Linux/macOS

Wenn Sie ein Linux-Betriebssystem verwenden, aktualisieren Sie die Datei /etc/environment, oder wenn Sie ein macOS-Benutzer sind, aktualisieren Sie die Datei .zshrc, die sich im Home-Verzeichnis befindet. Aktualisieren Sie dann die Datei mit neuen Einträgen für Ihren Proxyserver:

HTTP_PROXY=https://proxyserver:port
HTTPS_PROXY=https://proxyserver:port

Sobald Sie Ihre Terminalsitzungen neu starten oder Ihr System neu starten, sind die Umgebungsvariablen vorhanden.

Windows

Auf einem Windows-System können Sie Umgebungsvariablen mit den folgenden Befehlen in einem Terminal der Eingabeaufforderung setzen:

setx HTTP_PROXY "https://proxyserver:port" /M
setx HTTPS_PROXY "https://proxyserver:port" /M

Starten Sie die Eingabeaufforderung neu, damit die Änderungen wirksam werden.

Testen der Konfiguration

Sobald Sie eine Konfiguration auf Systemebene entweder über die pip-Konfigurationsdatei oder Umgebungsvariablen aktiviert haben, sollten Sie testen, ob der Proxy erfolgreich eine Verbindung herstellen und Daten über den Proxy empfangen kann.

Linux/macOS

Unter Linux/macOS verwenden Sie den folgenden Befehl:

$ python -m venv venv
$ source venve/scripts/activate

# for pip config file or environment variables
(venv) $ pip install requests

Wenn Sie diese Einstellungen mit einem bestimmten Proxy außer Kraft setzen wollen, können Sie auf die CLI-Flags zurückgreifen:

# pip cli flag
(venv) $ pip install requests --proxy https://proxyserver:port

Achten Sie bei diesem Befehl darauf, dass Sie https://proxyserver:port mit Ihrem eigenen Proxy aktualisieren.

Windows

Unter Windows verwenden Sie den folgenden Befehl:

> python -m venv venv
> .venvScriptsActivate.bat
(venv) > pip install requests

Diese Einstellungen können jederzeit mit den pip CLI-Flags überschrieben werden:

# pip cli flag
(venv) $ pip install requests --proxy https://proxyserver:port

Fehlersuche bei Pip-Proxys

Beim Herstellen einer Verbindung zu einem HTTP- oder HTTPS-Proxy mit pip können Sie auf die folgenden häufigen Probleme stoßen, insbesondere wenn Sie private Proxys oder HTTPS-Proxys aufgrund ihrer erweiterten Funktionen verwenden.

Probleme mit der Authentifizierung

Authentifizierungsprobleme werden häufig als Fehler 407 Proxy Authentication Required (Proxy-Authentifizierung erforderlich ) angezeigt, wenn Sie versuchen, eine Verbindung mit dem Proxy über pip herzustellen. Dies zeigt an, dass der Proxy einen Benutzernamen und ein Passwort benötigt, um eine Verbindung herzustellen, oder dass Sie die falschen Anmeldedaten für den Proxy angegeben haben.

Zertifikatsprobleme

Wenn Sie eine Verbindung zu einem HTTPS-Proxy herstellen, erhalten Sie von pip möglicherweise die Fehlermeldung Certificate verify failed. Dies zeigt an, dass es ein Problem mit dem vom Proxyserver bereitgestellten Zertifikat gibt.

Wenn Ihr privater Proxyserver ein selbstsigniertes Zertifikat verwendet, können Sie diesen Fehler erhalten, und das Zertifikat kann nicht mit einer Zertifizierungsstelle überprüft werden. Sie können die CLI-Option --trusted-host verwenden, wenn Sie eine Verbindung zu bestimmten Domänen herstellen und Fehler bei selbstsignierten Zertifikaten ignorieren.

Verwendung von pip mit rotierenden Proxys

Rotierende Proxys helfen, IP-Sperren zu vermeiden, indem sie bei jeder Anfrage automatisch die IP-Adresse wechseln. Dadurch werden mehrere Benutzer imitiert und Beschränkungen umgangen.

Sie können dies durch zufällige Auswahl von Proxies aus einer Liste implementieren. Nachfolgend finden Sie ein einfaches Bash-Skript, das Pip-Pakete installiert und dabei öffentliche Proxys durchläuft.

Erstellen Sie das folgende Bash-Skript namens rotate-proxies.sh:

proxy_list=(
  'http://45.185.162.203:999'
  'http://177.23.176.58:8080'
  'http://83.143.24.66:80'
)

pip_packages=(
  'requests'
  'numpy'
  'pandas'
)

# Loop through packages and install them
for package in "${pip_packages[@]}"
do
  # Randomly select a proxy from the list
  proxy=${proxy_list[$RANDOM % ${#proxy_list[@]}]}
  echo -e  "nInstalling $package with proxy $proxy"
  pip install --proxy $proxy $package
done

Sobald es erstellt ist, können Sie die Datei ausführen, um die Pip-Pakete herunterzuladen und einen zufälligen Proxy für jeden Pip-Befehl zu verwenden. Hier ist eine Zusammenfassung der Ausgabe des Skripts:

$ ./rotate-proxies.sh 

Installing requests with proxy http://177.23.176.58:8080
Collecting requests
  Downloading requests-2.32.3-py3-none-any.whl.metadata (4.6 kB)

….

Downloading urllib3-2.3.0-py3-none-any.whl (128 kB)
Installing collected packages: urllib3, idna, charset-normalizer, certifi, requests
Successfully installed certifi-2025.1.31 charset-normalizer-3.4.1 idna-3.10 requests-2.32.3 urllib3-2.3.0

Installing six with proxy http://45.185.162.203:999
Collecting numpy
 Downloading numpy-2.2.2-cp313-cp313-macosx_14_0_x86_64.whl.metadata (62 kB)

…

Installing collected packages: numpy
Successfully installed numpy-2.2.2

Installing pandas with proxy http://83.143.24.66:80
Collecting pandas
  Downloading pandas-2.2.3-cp313-cp313-macosx_10_13_x86_64.whl.metadata (89 kB)

….

Installing collected packages: pytz, tzdata, six, python-dateutil, pandas
Successfully installed pandas-2.2.3 python-dateutil-2.9.0.post0 pytz-2025.1 six-1.17.0 tzdata-2025.1

Vorteile der Verwendung von Proxies mit pip

Proxys helfen Entwicklern, Netzwerkbeschränkungen zu umgehen, auf blockierte Ressourcen zuzugreifen und die Download-Geschwindigkeit von Paketen zu verbessern. Private Proxys bieten Zwischenspeicherung, schnellere Verbindungen und verbesserte Sicherheit durch Verschleierung Ihrer Identität.

Im Vergleich zu einem VPN sind Proxys eine leichte Alternative für Pip-Anfragen. Während ein VPN den gesamten Internetverkehr verschlüsselt, um die Privatsphäre zu schützen, kann es Paketinstallationen aufgrund der erhöhten Latenz verlangsamen. Proxys bieten eine schnellere und effizientere Lösung für die Verwaltung von Abhängigkeiten.

Häufige Fehler und bewährte Praktiken

Bei der Verwendung von Proxys mit Pip ist es wichtig, auf häufige Fehler zu achten, da diese zu Sicherheitslücken führen können. Fehler wie falsche Proxy-URLs oder falsch konfigurierte URL-Formate – wie fehlende oder falsche HTTP- oder HTTPS-Protokolle – können Verbindungen zu Paket-Repositories unterbrechen.

Ein häufiges Sicherheitsproblem ist die feste Kodierung von Proxy-Anmeldeinformationen(z. B. Benutzernamen und Kennwörter) in Quellcodes, Skripten oder CI/CD-Pipelinedefinitionen (Continuous Integration, Continuous Delivery). Wenn dieser Code weitergegeben wird, können Unbefugte auf den Proxy zugreifen. Wenn die Zugangsdaten kompromittiert werden, kann der Proxy missbraucht werden, was zu erhöhten Kosten führt oder sogar durch Cyberangriffe ausgenutzt werden kann.

Um diese Fehler zu vermeiden, wird empfohlen, die Proxy-Zugangsdaten sicher zu halten, indem sie in Umgebungsvariablen oder verschlüsselten Konfigurationsdateien und nicht direkt im Code gespeichert werden. Darüber hinaus müssen Sie die Proxy-Konnektivität vor der Verwendung von pip testen, um eine ordnungsgemäße Einrichtung sicherzustellen und Laufzeitfehler zu vermeiden. Mit Tools wie curl oder ping können Sie die Leistung des Proxys überprüfen, bevor Sie ihn in Betrieb nehmen. Dies ermöglicht eine reibungslosere Paketverwaltung.

Verwendung von Bright Data Proxies

Wenn Sie einen Anbieter von qualitativ hochwertigen Proxys mit vielen Funktionen suchen, sollten Sie sich Bright Data ansehen. Bright Data ist eine Proxy-Lösung, die eine Reihe von IP-Adressen zur Verfügung stellt, darunter private, Rechenzentren und mobile Geräte. Bright Data bietet auch spezialisierte Tools für die Datenerfassung und das Web Scraping, darunter rotierende Proxys und die Web Unlocker API.

Bright Data kann Ihnen bei der einfachen Erstellung von Proxys für die Anforderungen Ihres Projekts helfen. Um Ihnen zu zeigen, wie einfach das ist, erstellen wir einen privaten Proxy, den Sie mit pip verwenden können, um auf Pakete über eine andere IP-Adresse zuzugreifen.

Melden Sie sich zunächst für ein kostenloses Bright Data-Konto an. Navigieren Sie dann zum Benutzer-Dashboard.

Klicken Sie im Seitenmenü auf Proxies & Scraping:

Bright Data-Proxys

Sobald das Formular geladen ist, konfigurieren Sie einen neuen Proxy für Privatanwender. Wenn Sie die Standardeinstellungen verwenden, erhalten Sie einen Proxy mit einer gemeinsamen IP-Adresse, die von mehreren Bright Data-Benutzern verwendet wird:

Erstellen einer Vorsorgevollmacht

Wenn Sie auf eine bestimmte Region abzielen, können Sie auch das Land angeben, in dem sich die IP-Adresse befinden soll.

Nach der Erstellung werden Sie zu einem Dashboard weitergeleitet, das die Endpunkt- und Authentifizierungsdetails für Ihren neu erstellten Proxy enthält. Notieren Sie sich sowohl den Benutzernamen, das Passwort als auch die Serveradresse:

Proxy-Dashboard

Testen Sie mit diesen Endpunktwerten ihre Verfügbarkeit mit dem Flag --proxy:

$ pip install pandas 
    --trusted-host pypi.org 
    --trusted-host files.pythonhosted.org 
    --proxy https://username:[email protected]:33335

Da der Bright Data-Proxy ein selbstsigniertes Zertifikat verwendet, können Sie das Flag trusted-host verwenden, um pypi.org und files.pythonhosted.org als vertrauenswürdige Domänen in die Whitelist aufzunehmen.

Schlussfolgerung

Die Verwendung eines Proxys mit Pip hilft, die Anonymität und Kontrolle zu verbessern und ermöglicht es Ihnen, IP-Beschränkungen und Geoblocking zu umgehen. Je nach Ihren Bedürfnissen können Sie zwischen öffentlichen und privaten Proxys wählen.

Private Proxys bieten Vorteile wie rotierende IPs, verbessertes Caching, höhere Geschwindigkeiten und größere Stabilität, aber die Kosten hängen von der IP-Verfügbarkeit und dem geografischen Standort ab.

Die Konfiguration eines Proxys für pip ist einfach, mit mehreren Optionen wie CLI-Flags, einer pip-Konfigurationsdatei und Umgebungsvariablen. Öffentliche Proxys haben jedoch Einschränkungen, und wie bereits erwähnt, sind sie nicht ideal für große Arbeitslasten oder den Produktionseinsatz. Für eine zuverlässigere Lösung bietet Bright Data IPs für Privathaushalte und Rechenzentren, die schnelle, stabile Verbindungen und fortschrittliche Tools für Web Scraping und Datenerfassung bieten. Melden Sie sich kostenlos an, um loszulegen.