Skip to content

bright-data-de/pip-with-proxy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 

Repository files navigation

pip mit Proxies verwenden

Promo

Dieser Leitfaden erklärt, wie Sie Proxies mit pip einrichten, um Einschränkungen zu umgehen, die Sicherheit zu verbessern und die Paketverwaltung zu optimieren:

Public vs Private Proxies

Public Proxies

Öffentliche Proxies sind für jeden zugänglich und erfordern in der Regel keine Authentifizierung. Obwohl sie eine schnelle Möglichkeit bieten, eine alternative IP-Adresse zu verwenden, haben sie erhebliche Nachteile, darunter langsamere Geschwindigkeiten, instabile Verbindungen und ein höheres Risiko von IP-Sperren. Ihre kostenlose und weit verbreitete Verfügbarkeit bedeutet häufig, dass ihnen wichtige Funktionen wie Proxy-Rotation, Caching und Zugriffskontrolle fehlen, wodurch sie für einen zuverlässigen Einsatz in einer Produktionsumgebung ungeeignet sind.

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

Private Proxies

Private Proxies erfordern Authentifizierung und bieten dadurch erhöhte Sicherheit, Stabilität und erweiterte Funktionen, sind jedoch häufig kostenpflichtig. Sie liefern eine schnelle, zuverlässige Verbindung zu einer dedizierten IP-Adresse und enthalten Funktionalitäten wie Proxy-Authentifizierung und Rotation für bessere Performance und Kontrolle.

Der Zugriff wird in der Regel über Authentifizierung gesteuert, oft indem ein Benutzername und Passwort als Präfix zur Proxy-URL hinzugefügt werden, z. B.: https://username:password@proxyserver:port.

Using Proxies with pip

Bevor Sie einen Proxy mit pip verwenden, müssen Sie relevante Details zu Ihrem Proxy zusammentragen. Das folgende Beispiel zeigt, wie Sie einen öffentlichen Proxy mit diesen Einstellungen verwenden:

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

Das folgende proxy-list Repo stellt täglich getestete öffentliche Proxy-Adressen bereit, die für Tests nützlich sein können, jedoch nicht in Produktionsumgebungen verwendet werden sollten.

Prüfen Sie im proxy-list Repo die Datei proxy-list-status.txt, um einen funktionierenden öffentlichen Proxy zu finden. Dies können Sie tun, indem Sie in der Datei nach einer Adresse suchen, neben der das Flag success steht, was darauf hinweist, dass sie funktioniert:

Selecting a public proxy

Für dieses Tutorial verwenden Sie 45.185.162.203:999 als Ihre öffentliche Proxy-Adresse. Das bedeutet, die Proxy-Server-Adresse lautet http://45.185.162.203:999.

Configuring a pip Proxy with the Command Line

Der schnellste Weg, wie Sie einen pip Proxy konfigurieren können, besteht darin, die Adresse beim Aufruf des Befehls pip install mit der Kommandozeilenoption --proxy zu übergeben.

Um den Zugriff über den öffentlichen Proxy zu verifizieren und das Abrufen von Paketen zu testen, führen Sie den folgenden Befehl aus:

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

Dieser Ansatz ist nützlich, um Proxies schnell zu testen und zu validieren, bevor Sie sie dauerhaft konfigurieren. Für alle, die pip-Pakete veröffentlichen, hilft er außerdem dabei, die Verfügbarkeit über eine andere IP-Adresse zu bestätigen.

Configuring a pip Proxy with the pip Config File

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

  • Global: Systemweite Konfigurationsdatei, die von allen Benutzern gemeinsam genutzt wird.
  • User: Benutzerbezogene Konfigurationsdatei für den Benutzer, der den pip-Prozess ausführt.
  • Site: Umgebungsbezogene Konfigurationsdatei für Python Virtual Environments.

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

Linux/macOS

Unter Linux und macOS heißt die pip-Konfigurationsdatei pip.conf und kann an den folgenden Orten gefunden werden:

  • Global:
    • Debian-based systems: Bearbeiten oder erstellen Sie pip.conf in the/etc` directory.
    • macOS-based systems: Bearbeiten oder erstellen Sie /Library/Application Support/pip/pip.conf.
  • User:
    • Debian-based systems: Bearbeiten oder erstellen Sie die Datei ~/pip/pip.conf.
    • macOS-based systems: Bearbeiten oder erstellen Sie die Konfigurationsdatei ~/.config/pip/pip.conf.
  • Site: Wenn sie in einem Python Virtual Environment geladen wird, befindet sie sich unter $VIRTUAL_ENV/pip.conf.

Windows

Unter Windows-Systemen ist die Datei eine pip.ini und kann an den folgenden Orten gefunden werden:

  • Global: Bearbeiten oder erstellen Sie die Datei C:\ProgramData\pip\pip.ini. Beachten Sie, dass diese Datei unter Windows standardmäßig ausgeblendet ist, aber beschreibbar ist.
  • User: Bearbeiten oder erstellen Sie pip.ini in %APPDATA%\pip\.
  • Site: Wenn sie in einem Python Virtual Environment geladen wird, bearbeiten oder erstellen Sie die Konfigurationsdatei unter %VIRTUAL_ENV%\pip.ini.

Config File Contents

Dieses Beispiel setzt voraus, dass eine pip-Konfigurationsdatei eines Python Virtual Environment verwendet wird. In einem aktivierten Virtual Environment bearbeiten Sie unter Debian-based systems $VIRTUAL_ENV/pip.conf oder unter Windows %VIRTUAL_ENV%\pip.ini.

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

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

Nach dem Speichern der Datei wird der Proxy automatisch auf alle pip-Befehle angewendet, sodass Sie das Proxy-Flag nicht jedes Mal angeben müssen:

(venv) $ pip install boto3

Weitere Details zu Konfigurationsoptionen finden Sie in der Dokumentation des Projekts.

Configuring a pip Proxy with Environment Variables

Das Konfigurieren von System-Umgebungsvariablen stellt sicher, dass ein Proxy für pip und alle anderen HTTP-Anfragen auf dem System verwendet wird. Dies wird erreicht, indem die Variablen HTTP_PROXY und HTTPS_PROXY gesetzt werden, auf die sich viele Anwendungen, einschließlich pip, als Standard-Proxy des Systems für die Verarbeitung von HTTP-Anfragen verlassen.

Linux/macOS

Wenn Sie ein Linux-Betriebssystem verwenden, aktualisieren Sie die Datei /etc/environment, oder wenn Sie macOS verwenden, aktualisieren Sie die im Home-Verzeichnis befindliche Datei .zshrc. Ergänzen Sie sie dann um neue Einträge für Ihren Proxy-Server:

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

Starten Sie Ihre Terminal-Sitzung oder das System neu, dann sind die Umgebungsvariablen vorhanden.

Windows

Unter Windows können Sie Umgebungsvariablen mit den folgenden Befehlen in einem Command Prompt Terminal 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.

Testing the Configuration

Nachdem Sie eine systemweite Konfiguration entweder über die pip-Konfigurationsdatei oder über Umgebungsvariablen eingerichtet haben, testen Sie den Proxy, um sicherzustellen, dass er sich erfolgreich verbinden und Daten übertragen 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 jemals mit einem spezifischen Proxy überschreiben möchten, können Sie wieder auf die CLI-Flags zurückgreifen:

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

Stellen Sie in diesem Befehl sicher, dass Sie https://proxyserver:port durch Ihren eigenen Proxy ersetzen.

Windows

Unter Windows verwenden Sie den folgenden Befehl:

> python -m venv venv
> .\venv\Scripts\Activate.bat
(venv) > pip install requests

Diese Einstellungen können jederzeit mithilfe der pip CLI-Flags überschrieben werden:

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

Troubleshooting pip Proxies

Beim Verbinden mit einem HTTP- oder HTTPS-Proxy über pip können die folgenden häufigen Probleme auftreten, insbesondere wenn Sie die Verwendung von privaten Proxies oder HTTPS-Proxies aufgrund ihrer erweiterten Funktionen in Betracht ziehen.

Authentication Issues

Authentifizierungsprobleme zeigen sich häufig als Fehler 407 Proxy Authentication Required, wenn Sie versuchen, sich mit pip mit dem Proxy zu verbinden. Dies weist darauf hin, dass der Proxy einen Benutzernamen und ein Passwort für die Verbindung erfordert oder dass Sie falsche Zugangsdaten für den Proxy angegeben haben.

Certificate Issues

Beim Verbinden mit einem HTTPS-Proxy erhalten Sie möglicherweise von pip den Fehler Certificate verify failed. Dies weist darauf hin, dass es ein Problem mit dem vom Proxy-Server bereitgestellten Zertifikat gibt.

Wenn Ihr privater Proxy-Server ein selbstsigniertes Zertifikat verwendet, kann ein Fehler auftreten, weil das Zertifikat nicht von einer Zertifizierungsstelle verifiziert wurde. Um dies zu umgehen, können Sie beim Verbinden zu bestimmten Domains die CLI-Option --trusted-host verwenden, um Fehler durch selbstsignierte Zertifikate zu ignorieren.

Using pip with Rotating Proxies

Rotating Proxies helfen, IP-Sperren zu vermeiden, indem sie für jede Anfrage automatisch die IP-Adresse wechseln. Das imitiert mehrere Benutzer und umgeht Einschränkungen.

Sie können dies implementieren, indem Sie Proxies zufällig aus einer Liste auswählen. Unten finden Sie ein einfaches bash-Skript, das pip-Pakete installiert und dabei durch öffentliche Proxies rotiert.

Erstellen Sie das folgende bash-Skript mit dem Namen 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

Nachdem Sie die Datei erstellt haben, können Sie sie ausführen, um pip-Pakete herunterzuladen, wobei für jeden pip-Befehl ein zufälliger Proxy verwendet wird. Unten finden Sie eine Zusammenfassung der Skriptausgabe:

$ ./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

Benefits of Using Proxies with pip

Proxies ermöglichen es Entwicklern, Netzwerkeinschränkungen zu umgehen, auf blockierte Ressourcen zuzugreifen und Downloadgeschwindigkeiten für Pakete zu optimieren. Private Proxies erhöhen die Sicherheit, indem sie die Identität verschleiern, und bieten zudem Caching sowie schnellere Verbindungen.

Im Gegensatz zu VPNs, die den gesamten Internetverkehr für mehr Privatsphäre verschlüsseln, aber Latenz verursachen können, dienen Proxies als leichtgewichtige Alternative für pip-Anfragen. Sie bieten eine schnellere und effizientere Möglichkeit, Abhängigkeiten zu verwalten, ohne den Performance-Overhead eines VPN.

Common Mistakes and Best Practices

Bei der Verwendung von Proxies mit pip ist es entscheidend, häufige Fehler zu vermeiden, die zu Sicherheitslücken führen können. Probleme wie falsche Proxy-URLs oder falsch formatierte Adressen – etwa fehlende oder falsche HTTP/HTTPS-Protokolle – können Verbindungen zu Paket-Repositories unterbrechen.

Ein wesentliches Sicherheitsrisiko ist das Hard-Coding von Proxy-Zugangsdaten (z. B. Benutzernamen und Passwörtern) in Quellcode, Skripten oder CI/CD-Pipeline-Konfigurationen. Wenn der Code geteilt oder offengelegt wird, kann es zu unbefugtem Zugriff auf den Proxy kommen. Kompromittierte Zugangsdaten können zu Missbrauch führen, was erhöhte Kosten oder potenzielle Ausnutzung durch Cyberangriffe zur Folge haben kann.

Um diese Fehler zu vermeiden, wird empfohlen, Proxy-Zugangsdaten sicher aufzubewahren, indem Sie sie in Umgebungsvariablen oder verschlüsselten Konfigurationsdateien speichern, statt direkt im Code. Darüber hinaus müssen Sie die Proxy-Konnektivität testen, bevor Sie pip verwenden, um eine korrekte Einrichtung sicherzustellen und Laufzeitfehler zu vermeiden. Mit Tools wie curl oder ping können Sie die Proxy-Performance überprüfen, bevor Sie ihn produktiv einsetzen. Das ermöglicht eine reibungslosere Paketverwaltung.

Using Bright Data Proxies

Bright Data bietet eine Reihe von Proxy-Diensten, darunter Residential Proxies, Rechenzentrums-Proxies und mobile Geräte. Damit können Sie einfach Proxies für die Anforderungen Ihres Projekts erstellen. Lassen Sie uns einen privaten Residential Proxy erstellen, den Sie mit pip verwenden können, um über eine andere IP-Adresse auf Pakete zuzugreifen.

Beginnen Sie damit, ein kostenloses Bright Data-Konto zu erstellen. Navigieren Sie anschließend zum User-Dashboard.

Klicken Sie im Seitenmenü auf Proxies & Scraping:

Bright Data proxies

Nachdem das Formular geladen ist, richten Sie einen neuen Residential Proxy ein. Wenn Sie die Standardeinstellungen verwenden, wird Ihnen eine geteilte IP-Adresse zugewiesen, die von mehreren Bright Data-Benutzern verwendet wird.

Creating a residential proxy

Wenn Sie eine IP-Adresse aus einer bestimmten Region benötigen, können Sie während der Einrichtung das gewünschte Land auswählen.

Sobald der Proxy erstellt ist, werden Sie zu einem Dashboard weitergeleitet, das den Endpunkt sowie Authentifizierungsdetails anzeigt. Notieren Sie sich unbedingt den Benutzernamen, das Passwort und die Serveradresse.

Proxy dashboard

Testen Sie die Verfügbarkeit der Endpunktwerte, indem Sie das Flag --proxy verwenden:

$ 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 Domains zu whitelisten.

Conclusion

Das Konfigurieren eines Proxy für pip ist einfach und bietet mehrere Optionen wie CLI-Flags, eine pip-Konfigurationsdatei und Umgebungsvariablen. Öffentliche Proxies haben jedoch Einschränkungen und sind nicht ideal für große Workloads oder den Produktionseinsatz. Für eine zuverlässigere Lösung bietet Bright Data Residential Proxies und Rechenzentrums-IPs sowie schnelle, stabile Verbindungen und fortschrittliche Tools für Web-Scraping und Datenerfassung. Registrieren Sie sich kostenlos, um loszulegen.

About

Konfigurieren Sie pip mit Proxies, um Einschränkungen zu umgehen, die Sicherheit zu verbessern und die Paketverwaltung zu optimieren.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors