Comment utiliser pip avec des proxys

Configurez des proxys avec pip pour contourner les restrictions, améliorer la sécurité et simplifier la gestion des paquets.
12 min de lecture
How to Use Pip with Proxies blog image

Dans cet article, vous apprendrez à configurer et utiliser des proxys avec pip pour une gestion fluide des paquets dans des réseaux restreints.

Différences entre les proxys publics et privés

Lors de la sélection d’un proxy, déterminer s’il sera public ou privé est une considération importante.

Proxys publics

Les proxys publics sont ouverts à tous et manquent souvent d’authentification. Bien qu’ils puissent fournir un accès rapide à une adresse IP, ils présentent des inconvénients—vitesses plus lentes, connexions instables et bannissements d’IP potentiels. Comme ils sont gratuits et largement disponibles, ils manquent souvent de fonctionnalités essentielles comme la rotation de proxy, la mise en cache et le contrôle d’accès, les rendant peu fiables dans un environnement de production.

Une URL publique peut être formatée ainsi : https://proxyserver:port.

Proxys privés

Les proxys privés nécessitent une authentification, offrant une meilleure sécurité, stabilité et des fonctionnalités avancées—bien que généralement à un coût. Ils offrent une connexion sécurisée, rapide et fiable à une adresse IP dédiée, ainsi que des fonctionnalités comme l’authentification et la rotation de proxy.

L’accès est généralement contrôlé par authentification, souvent en incluant un nom d’utilisateur et un mot de passe en préfixe de l’URL du proxy comme ceci : https://username:password@proxyserver:port.

Utiliser des proxys avec pip

Pour commencer à utiliser un proxy avec pip, vous devez rassembler certains détails sur votre proxy. L’exemple suivant utilise un proxy public avec les détails suivants :

  • Une adresse de proxy pour le service de proxy
  • Le port requis par le service de proxy pour la communication

Le dépôt proxy-list suivant fournit des adresses de proxy public testées quotidiennement, utiles pour les tests mais ne devant pas être utilisées en production.

Dans le dépôt proxy-list, consultez le fichier proxy-list-status.txt pour trouver un proxy public fonctionnel. Cela peut être fait en vérifiant dans le fichier une adresse ayant le drapeau success à côté d’elle, indiquant qu’elle fonctionne :

Sélection d'un proxy public

Pour ce tutoriel, utilisez 45.185.162.203:999 comme adresse de proxy public. Cela signifie que l’adresse du serveur proxy est http://45.185.162.203:999.

Configurer un proxy pip avec la ligne de commande

Le moyen le plus rapide de configurer un proxy pip est de transmettre l’adresse lors de l’appel de la commande pip install en utilisant l’option de ligne de commande --proxy.

En utilisant l’adresse de proxy public, testez votre accès au proxy et aux paquets avec la commande suivante :

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

Cette méthode est utile pour tester et valider rapidement les proxys avant de configurer définitivement un nouveau proxy. Si vous publiez des paquets pip, elle aide à vérifier la disponibilité depuis une IP différente.

Configurer un proxy pip avec le fichier de configuration pip

Pour configurer durablement un proxy pip, le fichier de configuration pip est une solution simple et déclarative. Son emplacement dépend de votre système d’exploitation et peut être trouvé dans les répertoires suivants :

  • Global : Fichier de configuration à l’échelle du système, partagé entre les utilisateurs.
  • Utilisateur : Fichier de configuration par utilisateur pour l’utilisateur exécutant le processus pip.
  • Site : Fichier de configuration par environnement utilisant des environnements virtuels Python.

Ces fichiers de configuration peuvent être trouvés ou créés aux emplacements suivants pour chaque système :

Linux/macOS

Sur les systèmes basés sur Linux, le fichier de configuration pip s’appelle pip.conf et peut être trouvé aux emplacements suivants :

  • Global :
    • Systèmes basés sur Debian : Modifiez ou créez pip.conf dans le répertoire/etc` .
    • Systèmes basés sur macOS : Modifiez ou créez /Library/Application Support/pip/pip.conf.
  • Utilisateur :
    • Systèmes basés sur Debian : Modifiez ou créez le fichier ~/pip/pip.conf.
    • Systèmes basés sur macOS : Modifiez ou créez le fichier de configuration ~/.config/pip/pip.conf.
  • Site : Lorsqu’il est chargé dans un environnement virtuel Python, il se trouve à $VIRTUAL_ENV/pip.conf.

Windows

Sur un système Windows, le fichier est un fichier pip.ini et peut être trouvé aux emplacements suivants :

  • Global : Modifiez ou créez le fichier C:ProgramDatapippip.ini. Notez que ce fichier est caché par défaut sur les systèmes Windows mais reste modifiable.
  • Utilisateur : Modifiez ou créez pip.ini dans %APPDATA%pip.
  • Site : Lorsqu’il est chargé dans un environnement virtuel Python, modifiez ou créez le fichier de configuration à %VIRTUAL_ENV%pip.ini.

Remarque : Au lieu de vérifier une liste d’emplacements connus, vous pouvez demander à pip de lister les emplacements valides :

  pip config -v list

Contenu du fichier de configuration

Pour cet exemple, un fichier de configuration pip d’environnement virtuel Python est utilisé. Dans un environnement virtuel activé, modifiez $VIRTUAL_ENV/pip.conf sur les systèmes basés sur Debian ou %VIRTUAL_ENV%pip.ini sur Windows.

Dans le fichier de configuration, vous devez mettre à jour la clé proxy avec votre proxy HTTP ou HTTPS souhaité :

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

Une fois le fichier enregistré, le proxy est utilisé automatiquement avec toute commande pip, éliminant le besoin du drapeau proxy mentionné précédemment :

  (venv) $ pip install boto3

Vous pouvez trouver plus de détails sur les options de configuration disponibles dans le fichier de configuration pip dans la documentation du projet.

Configurer un proxy pip avec des variables d’environnement

La définition des variables d’environnement système garantit qu’un proxy est utilisé pour pip et toutes les autres requêtes HTTP sur un système. Cela se fait en utilisant les variables d’environnement HTTP_PROXY et HTTPS_PROXY, souvent référencées par des logiciels comme pip comme proxy système à utiliser lors des requêtes HTTP.

Linux/macOS

Si vous utilisez un système d’exploitation Linux, mettez à jour le fichier /etc/environment, ou si vous êtes utilisateur macOS, mettez à jour le fichier .zshrc situé dans le répertoire personnel. Ensuite, mettez-le à jour avec de nouvelles entrées pour votre serveur proxy :

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

Une fois que vous redémarrez vos sessions de terminal ou redémarrez votre système, les variables d’environnement seront présentes.

Windows

Sur un système Windows, vous pouvez définir des variables d’environnement avec les commandes suivantes dans un terminal d’invite de commande :

  $env:HTTP_PROXY "https://proxyserver:port" /M
$env:HTTPS_PROXY "https://proxyserver:port" /M

Redémarrez l’invite de commande pour que les modifications prennent effet.

Tester la configuration

Une fois qu’une configuration au niveau système est activée, soit via le fichier de configuration pip, soit via les variables d’environnement, vous devez tester que le proxy peut se connecter avec succès et recevoir des données via le proxy.

Linux/macOS

Sur Linux/macOS, utilisez la commande suivante :

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

# pour le fichier de configuration pip ou les variables d'environnement
(venv) $ pip install requests

Si vous souhaitez un jour remplacer ces paramètres par un proxy spécifique, vous pouvez revenir à l’utilisation des drapeaux CLI :

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

Dans cette commande, assurez-vous de mettre à jour https://proxyserver:port avec votre propre proxy.

Windows

Sur Windows, utilisez la commande suivante :

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

Ces paramètres peuvent toujours être remplacés en utilisant les drapeaux CLI pip :

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

Dépannage des proxys pip

Lors de la connexion à un proxy HTTP ou HTTPS avec pip, vous pouvez rencontrer les problèmes courants suivants, particulièrement si vous explorez l’utilisation de proxys privés ou de proxys HTTPS en raison de leurs fonctionnalités améliorées.

Problèmes d’authentification

Les problèmes d’authentification sont couramment observés sous forme d’erreur 407 Proxy Authentication Required lors de la tentative de connexion au proxy avec pip. Cela indique que le proxy nécessite un nom d’utilisateur et un mot de passe pour se connecter, ou que vous avez fourni des identifiants incorrects pour le proxy.

Problèmes de certificat

Lors de la connexion à un proxy HTTPS, vous pouvez recevoir une erreur Certificate verify failed de pip. Cela indique qu’il y a un problème avec le certificat fourni par le serveur proxy.

Si votre serveur proxy privé utilise un certificat auto-signé, vous pouvez obtenir cette erreur, et le certificat ne peut pas être vérifié auprès d’une autorité de certification. Vous pouvez utiliser l’option CLI --trusted-host lors de la connexion à certains domaines et ignorer les erreurs de certificat auto-signé.

Utiliser pip avec des proxys rotatifs

Les proxys rotatifs aident à éviter les bannissements d’IP en changeant automatiquement d’adresse IP pour chaque requête. Cela imite plusieurs utilisateurs et contourne les restrictions.

Vous pouvez implémenter cela en sélectionnant aléatoirement des proxys dans une liste. Voici un simple script bash qui installe des paquets pip en alternant entre des proxys publics.

Créez le script bash suivant appelé 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'
)
chmod +x rotate-proxies.sh
# Boucle à travers les paquets et les installe
for package in "${pip_packages[@]}"
do
  # Sélectionne aléatoirement un proxy dans la liste
  proxy=${proxy_list[$RANDOM % ${#proxy_list[@]}]}
  echo -e  "nInstallation de $package avec le proxy $proxy"
  pip install --proxy $proxy $package
done

Une fois créé, vous pouvez exécuter le fichier pour télécharger les paquets pip et alterner entre un proxy aléatoire pour chaque commande pip. Voici un résumé de la sortie du script :

  $ ./rotate-proxies.sh 

Installation de requests avec le 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-2026.1.31 charset-normalizer-3.4.1 idna-3.10 requests-2.32.3 urllib3-2.3.0

Installation de six avec le 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

Installation de pandas avec le 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-2026.1 six-1.17.0 tzdata-2026.1

Avantages de l’utilisation de proxys avec pip

Les proxys aident les développeurs à contourner les restrictions réseau, accéder à des ressources bloquées et améliorer les vitesses de téléchargement des paquets. Les proxys privés offrent la mise en cache, des connexions plus rapides et une sécurité renforcée en masquant votre identité.

Comparés à un VPN, les proxys sont une alternative légère pour les requêtes pip. Alors qu’un VPN chiffre tout le trafic internet pour une confidentialité plus large, cela peut ralentir les installations de paquets en raison d’une latence accrue. Les proxys offrent une solution plus rapide et plus efficace pour gérer les dépendances.

Erreurs courantes et bonnes pratiques

Lors de l’utilisation de proxys avec pip, il est important de surveiller les erreurs courantes car elles peuvent entraîner des vulnérabilités de sécurité. Des erreurs telles que des URL de proxy incorrectes ou des formats d’URL mal configurés—comme un protocole HTTP ou HTTPS manquant ou incorrect—peuvent perturber les connexions aux référentiels de paquets.

Un problème de sécurité fréquent est le codage en dur des identifiants de proxy (par exemple noms d’utilisateur et mots de passe) dans les codes source, scripts ou définitions de pipelines d’intégration continue et de livraison continue (CI/CD). Si ce code est redistribué, un accès non autorisé au proxy peut se produire. Si les identifiants sont compromis, le proxy peut être utilisé de manière abusive, entraînant des coûts accrus ou même être exploité par des cyberattaques.

Pour éviter ces erreurs, il est recommandé de garder les identifiants de proxy sécurisés en les stockant dans des variables d’environnement ou des fichiers de configuration chiffrés plutôt que directement dans le code. De plus, vous devez tester la connectivité du proxy avant d’utiliser pip pour garantir une configuration correcte et éviter les erreurs d’exécution. En utilisant des outils comme curl ou ping, vous pouvez vérifier les performances du proxy avant de le mettre en service. Cela permet une expérience de gestion des paquets plus fluide.

Utiliser les proxys Bright Data

Si vous recherchez un fournisseur de proxys de haute qualité et riches en fonctionnalités, consultez Bright Data. C’est une solution de proxy qui fournit une gamme d’adresses IP, y compris résidentielles, centres de données et appareils mobiles. Elle fournit également des outils spécialisés pour la collecte de données et le scraping web, y compris les proxys rotatifs et l’ API Web Unlocker.

Bright Data peut vous aider à créer facilement des proxys pour les besoins de votre projet. Pour vous montrer à quel point c’est facile, créons un proxy résidentiel privé que vous pouvez utiliser avec pip pour accéder aux paquets via une adresse IP différente.

Commencez par vous inscrire sur Bright Data. Ensuite, accédez au tableau de bord utilisateur.

Dans le menu latéral, cliquez sur Proxies & Scraping :

Proxys Bright Data

Une fois le formulaire chargé, configurez un nouveau proxy résidentiel. Si vous utilisez les paramètres par défaut, vous obtiendrez un proxy avec une adresse IP partagée utilisée par plusieurs utilisateurs Bright Data :

Création d'un proxy résidentiel

Si vous ciblez une région spécifique, vous pouvez également spécifier le pays dans lequel vous souhaitez que l’adresse IP soit localisée.

Après la création, vous êtes redirigé vers un tableau de bord contenant le point de terminaison et les détails d’authentification pour votre proxy nouvellement créé. Notez le nom d’utilisateur, le mot de passe et l’adresse du serveur :

Tableau de bord du proxy

En utilisant ces valeurs de point de terminaison, testez leur disponibilité avec le drapeau --proxy :

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

Comme le proxy Bright Data utilise un certificat auto-signé, vous pouvez utiliser le drapeau trusted-host pour inscrire pypi.org et files.pythonhosted.org sur liste blanche en tant que domaines de confiance.

Conclusion

Utiliser un proxy avec pip aide à renforcer l’anonymat et le contrôle, vous permettant de contourner les restrictions d’IP et le géoblocage. Selon vos besoins, vous pouvez choisir entre des proxys publics et privés.

Les proxys privés offrent des avantages, comme la rotation des IP, une meilleure mise en cache, des vitesses plus rapides et une plus grande stabilité, mais le coût dépend de la disponibilité des IP et de l’emplacement géographique.

Configurer un proxy pour pip est simple, avec plusieurs options comme les drapeaux CLI, un fichier de configuration pip et des variables d’environnement. Cependant, les proxys publics ont des limitations, et comme discuté précédemment, ils ne sont pas idéaux pour les charges de travail importantes ou un usage en production. Pour une solution plus fiable, Bright Data propose des IP résidentielles et des IP de centres de données, offrant des connexions rapides et stables ainsi que des outils avancés pour le scraping web et la collecte de données.