web-dev-qa-db-fra.com

installation de pip à l'aide de get_pip.py SNIMissingWarning

J'essaie d'installer pip sur mon Mac Yosemite 10.10.5 en utilisant le fichier get_pip.py mais j'ai le problème suivant

Bachirs-MacBook-Pro:Downloads bachiraoun$ Sudo python get-pip.py 
The directory '/Users/bachiraoun/Library/Caches/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with Sudo, you may want Sudo's -H flag.
The directory '/Users/bachiraoun/Library/Caches/pip' or its parent directory is not owned by the current user and caching wheels has been disabled. check the permissions and owner of that directory. If executing pip with Sudo, you may want Sudo's -H flag.
Collecting pip
/tmp/tmpOofplD/pip.Zip/pip/_vendor/requests/packages/urllib3/util/ssl_.py:315: SNIMissingWarning: An HTTPS request has been made, but the SNI (Subject Name Indication) extension to TLS is not available on this platform. This may cause the server to present an incorrect TLS certificate, which can cause validation failures. For more information, see https://urllib3.readthedocs.org/en/latest/security.html#snimissingwarning.
/tmp/tmpOofplD/pip.Zip/pip/_vendor/requests/packages/urllib3/util/ssl_.py:120: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. For more information, see https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning.
  Could not fetch URL https://pypi.python.org/simple/pip/: There was a problem confirming the ssl certificate: [Errno 1] _ssl.c:510: error:0D0890A1:asn1 encoding routines:ASN1_verify:unknown message digest algorithm - skipping
  Could not find a version that satisfies the requirement pip (from versions: )
No matching distribution found for pip

Selon mon message d'erreur et rllib mon problème est dû au fait que j'ai une version d'installation python plus tôt que antérieure à 2.7.9 mais mon python est 2.7.10 comme vous pouvez le voir

Bachirs-MacBook-Pro:docs bachiraoun$ python
Python 2.7.10 (default, Jul 14 2015, 19:46:27) 
[GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.39)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> sys.version_info
sys.version_info(major=2, minor=7, micro=10, releaselevel='final', serial=0)
>>> 

J'ai vérifié que mon openssl est installé et il semble être ok

Bachirs-MacBook-Pro:docs bachiraoun$ brew install openssl
Warning: openssl-1.0.2f already installed

vous ne savez pas comment résoudre ce problème, une idée?

18
Cobry

besoin d'installer:

pip install pyopenssl ndg-httpsclient pyasn1

lien: http://urllib3.readthedocs.org/en/latest/security.html#openssl-pyopenssl

Par défaut, nous utilisons le module ssl de la bibliothèque standard. Malheureusement, il existe plusieurs limitations qui sont traitées par PyOpenSSL:

(Python 2.x) Prise en charge SNI. (Python 2.x-3.2) Désactivation de la compression pour atténuer l'attaque CRIME.

Pour utiliser les liaisons Python OpenSSL à la place, vous devez installer les packages requis:

pip install pyopenssl ndg-httpsclient pyasn1
25
lbsweek

Problème d'autorisation de répertoire

Les lignes un et deux de la sortie indiquent qu'il y a un problème avec les privilèges du dossier. Vous pouvez voir si vous devez modifier les autorisations en faisant ls -a /Users/ME/Library et vérifier si les autorisations sont égales à drwx------+. Si ce n'est pas le cas, vous pouvez résoudre le problème en utilisant chmod pour modifier les autorisations: chmod 700 /Users/ME/Library.

Cependant, vu que la première ligne d'exécution (Bachirs-MacBook-Pro:Downloads ME$) a la ME$ comme préfixe, vous ne devriez pas avoir ce problème comme il l'indique. Vous exécutez également get_pip.py en tant que root afin que les autorisations ne soient pas un obstacle. Le problème devient plus clair lorsque vous affichez la deuxième ligne d'exécution (Bachirs-MacBook-Pro:Downloads bachiraoun$), il semble que le script soit exécuté en tant que bachiraoun par opposition à ME ce qui expliquerait pourquoi il y a eu l'erreur. Je suppose que vous êtes entré dans le Shell d'une manière anormale car cela ne devrait pas changer comme ça. Pourriez-vous donner plus de détails sur la façon dont vous êtes entré dans le shell et pouvez-vous réexécuter le script?

SSL

Dans le cas peu probable où les autorisations n'étaient pas le problème, cela peut être le cas. L'avant-dernière ligne semble suggérer qu'il y avait un problème concernant le SSL. Si vous avez installé homebrew, vous pouvez faire brew install openssl. Notez le manque de Sudo car l'homebrew ne joue pas bien avec lui. Après cela, essayez à nouveau d'exécuter le script. Encore une fois, il s'agit probablement d'une erreur d'autorisations et vous devez d'abord essayer de résoudre ce problème.

1
Koga

Vous avez un problème avec les privilèges de dossier. Le dossier de

/Users/ME/Library/Caches/pip/http

ou l'un de ses ancêtres n'appartient pas à l'utilisateur avec lequel vous avez l'intention d'interagir avec lui. Vous devez vérifier quel utilisateur vous essayez de faire cela et vous devez vous assurer que l'utilisateur donné dispose des autorisations nécessaires pour tous les dossiers du chemin.

1
Lajos Arpad