web-dev-qa-db-fra.com

Pip ne fonctionne pas derrière le pare-feu

J'essaie d'utiliser pip de derrière un pare-feu d'entreprise sans avoir de chance.

J'ai défini les variables d'environnement http_proxy et https_proxy. wget fonctionne, mais pas pip.

J'ai essayé ça ...

Sudo -E pip install virtualenv

avec ces procurations ...

export http_proxy=myproxyname.mydomain.com:8080
export https_proxy=myproxyname.mydomain.com:8080 

... et j'ai eu un long stacktrace qui s'est terminé avec cette

/requests/packages/urllib3/poolmanager.py", line 214, in __init__
'Not supported proxy scheme %s' % self.proxy.scheme
AssertionError: Not supported proxy scheme None

J'ai regardé la source poolmanager.py. Il semble que les variables proxy doivent commencer par un schéma. J'ai donc réessayé avec les mandataires suivants ...

export http_proxy=http://myproxyname.mydomain.com:8080
export https_proxy=https://myproxyname.mydomain.com:8080 (also tried this with http://)

... et j'obtiens l'erreur suivante

Downloading/unpacking virtualenv
  Cannot fetch index base URL https://pypi.python.org/simple/
  Could not find any downloads that satisfy the requirement virtualenv
Cleaning up...
No distributions at all found for virtualenv
Storing debug log for failure in /root/.pip/pip.log

C’est la même erreur que lorsque je n’ai pas de proxy, bien que je l’obtienne beaucoup plus rapidement lorsque les procurations sont définies.

Quand j'essaie wget ... 

wget --no-check-certificate https://pypi.python.org/simple/

Cela fonctionne bien, alors je pense que les mandataires eux-mêmes semblent bien, à moins que je ne les essaie avec pip.

L'utilisation de l'option --proxy au lieu de envvars n'a pas aidé. Même résultat.

Des idées?

Merci, Bean

18
Bean Taxi

Utilisez l'argument --trusted-Host.

J'ai compris comment le faire fonctionner avec moi derrière le pare-feu de mon entreprise en utilisant l'argument --trusted-Host.

Ma première tentative a été la suivante: 

pip install matplotlib

et le texte qui a échoué était ceci:

Impossible de récupérer l'URL https://pypi.python.org/simple/matplotlib/ : There Un problème est survenu lors de la confirmation du certificat SSL: [SSL: CERTIFICATE_VERIFY_FAILED] échec de la vérification du certificat (_ssl.c: 645) - saut

Alors j'ai essayé ceci qui a fonctionné:

pip3.5 install matplotlib --trusted-Host pypi.python.org

14
user3398996

Cela a fonctionné pour moi

export HTTP_PROXY=http://myusr:[email protected]:8080
export HTTPS_PROXY=https://myusr:[email protected]:8080
Sudo -E pip3 install --proxy http://myusr:[email protected]:8080 virtualenv
7
Joram

Je devais définir tout cela dans Windows pour que cela fonctionne.

set http_proxy=http://proxy.corp.com:8083
set https_proxy=http://proxy.corp.com:8083
set all_proxy=http://proxy.corp.com:8083
set no_proxy=localhost,.corp.com

set HTTP_PROXY=http://proxy.corp.com:8083
set HTTPS_PROXY=http://proxy.corp.com:8083
set ALL_PROXY=http://proxy.corp.com:8083
set NO_PROXY=localhost,.corp.com

set PATH=c:\python27\scripts;c:\python27\;%PATH%

Veuillez remplacer proxy.corp.com:8083 par votre serveur proxy http.

Après cela, j'utilise pip install numpy

[Dernier ".corp.com" manquait une période (corrigé) .... en passant, après BEAUCOUP de cheveux tirant derrière notre pare-feu d'entreprise, cette solution était la seule qui a fonctionné!] 

5
Damian

pip a une option pour définir le proxy, les éléments suivants devraient donc fonctionner pour vous:

Sudo -E pip install --proxy="myproxyname.mydomain.com:8080" virtualenv
2
Odi

cela fonctionne derrière un proxy

Sudo -E pip - nom d'utilisateur proxy: mot de passe @ http: // IP: port install 

0
Sasanka

Essayez d’ajouter "http: //" avant le nom d’hôte proxy:

Sudo -E pip install --proxy = "http://myproxyname.mydomain.com:8080" virtualenv
0
Roberto