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:
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
.
- Debian-basierte Systeme: Bearbeiten oder erstellen Sie
- 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
.
- Debian-basierte Systeme: Bearbeiten oder erstellen Sie die Datei
- 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:
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:
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:
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.