"Le module SSL en Python n'est pas disponible" lors de l'installation du paquet avec pip3

j'ai installé avec succès Python 3.4 et Python 3.6 sur ma machine locale, mais je ne peux pas installer de paquets avec pip3.

quand j'exécute pip3 install <package>, j'ai le SSL related erreur:

pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.
Collecting <package>
  Could not fetch URL https://pypi.python.org/simple/<package>/: There was a problem confirming the ssl certificate: Can't connect to HTTPS URL because the SSL module is not available. - skipping
  Could not find a version that satisfies the requirement <package> (from versions: )
No matching distribution found for <package>

Comment puis-je réparer mon Python3.x Installer pour que je puisse installer des paquets avec pip install <package>?

19
demandé sur The Aelfinn 2016-12-26 11:27:31

9 réponses

guide étape par étape pour installer Python 3.6 et pip3 dans Ubuntu

  1. Télécharger Python-3.6.1.tar.xz https://www.python.org/

  2. décompressez le fichier et conservez le dossier dans le répertoire d'accueil.

  3. ouvrir le terminal dans ce répertoire et exécuter les commandes suivantes: ./configure make make test sudo make install

  4. cela installera Python 3.6 mais pip3 peut ne pas fonctionner.Installer nécessaire les modules à l'aide de:

    sudo apt-get install libreadline-gplv2-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev
  5. maintenant, écrivez ce qui suit pour relancer l'installation: sudo make sudo make install

  6. maintenant vous pouvez installer des paquets avec Python 3.6 utilisant la commande pip3. Par exemple:

    sudo pip3 install numpy

26
répondu arsho 2017-10-12 12:14:07

Si vous êtes sur Red Hat/CentOS:

# To allow for building python ssl libs
yum install openssl-devel
# Download the source of *any* python version
cd /usr/src
wget https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tar.xz
tar xf Python-3.6.2.tar.xz 
cd Python-3.6.2

# Configure the build w/ your installed libraries
./configure

# Install into /usr/local/bin/python3.6, don't overwrite global python bin
make altinstall
24
répondu The Aelfinn 2017-07-31 14:04:05

Le problème est probablement causé par la bibliothèque manquante.

Avant d'installer python 3.6, assurez-vous d'installer toutes les bibliothèques requises pour python.

$ sudo apt-get install build-essential checkinstall 
$ sudo apt-get install libreadline-gplv2-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev

Plus d'informations comment installer Python 3.6.0 sur Ubuntu & LinuxMint

6
répondu PengShaw 2017-02-19 14:28:24

si vous êtes sur OSX et que vous avez compilé python à partir de la source:

Installer openssl à l'aide d'infusion brew install openssl

assurez-vous de suivre les instructions brew vous donne sur la configuration de votre CPPFLAGS et LDFLAGS. Dans mon cas, je suis en utilisant le openssl@1.1 brew formule et j'ai besoin de ces 3 paramètres pour le python processus de construction correctement lien vers ma bibliothèque SSL:

export LDFLAGS="-L/usr/local/opt/openssl@1.1/lib"
export CPPFLAGS="-I/usr/local/opt/openssl@1.1/include"
export PKG_CONFIG_PATH="/usr/local/opt/openssl@1.1/lib/pkgconfig"

en Supposant que la bibliothèque est installée à cet endroit.

4
répondu mastaBlasta 2018-03-04 11:21:15

j'ai eu le même problème pour les deux derniers jours et ont fixé maintenant.

j'avais essayé d'utiliser --trust-host option DigiCert_High_Assurance_EV_Root_CA.pem n'a pas fonctionné, je n'ai pas pu installer le module ssl (il indique qu'il ne peut pas être installé pour les versions python supérieures à 2.6), paramétrant le $PIP_CERT variable n'a pas corrigé non plus et j'ai eu libssl1.0.2 et libssl1.0.0 installé. Il faut aussi mentionner que je n'ai pas eu de ~/.pip/pip.conf fichier, et sa création n'a pas résolu le bug soit.

ce qui l'a finalement résolu, c'est l'installation de python3.6 avec make nouveau. Téléchargez le Python-3.6.0.tgz à partir du site web, exécutez configuremake,make test et make install. Espérons que cela fonctionne pour vous.

2
répondu E.C Lobo 2016-12-27 19:50:01

D'accord avec la réponse de mastaBlasta. A travaillé pour moi. J'ai rencontré le même problème que la description du sujet.

ma solution:

  1. réinstaller openssl par brew uninstall openssl, brew install openssl;
  2. selon les conseils donnés par Homebrew, faites ce qui suit:

    echo 'export PATH="/usr/local/opt/openssl/bin:$PATH"' >> ~/.bash_profile

    export LDFLAGS="-L/usr/local/opt/openssl/lib"

    export CPPFLAGS="-I/usr/local/opt/openssl/include"

1
répondu nathanyu 2018-05-24 11:45:18

Je ne suis pas sûr que cela aidera quelqu'un, mais j'ai découvert la manière dure que la syntaxe est pip3 install --upgrade pip plutôt que pip3 install --upgrade pip3 comme l'on pourrait s'attendre.

0
répondu Grant Curell 2018-04-16 18:51:03

documentation python est en fait très clair, et en suivant les instructions a fait le travail alors que d'autres réponses que j'ai trouvées ici ne corrigeaient pas cette question.

  1. tout d'abord, installez python 3.x.x de la source à l'aide, par exemple avec la version 3.6.2 https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tar.xz

  2. assurez-vous que vous avez openssl installé en exécutant brew install openssl

  3. décompressez-le, et déplacez le répertoire python: tar xvzf Python-3.6.2.tar.xz && cd Python-3.6.2

  4. alors si la version python est < 3.7, exécutez

CPPFLAGS="-I$(brew --prefix openssl)/include" \ LDFLAGS="-L$(brew --prefix openssl)/lib" \ ./configure --with-pydebug 5. enfin, exécutez make -s -j2 (-s est l'indicateur muet, -j2 indique à votre ordinateur d'utiliser 2 emplois)

0
répondu pglaser 2018-09-10 13:50:43

j'ai eu le même problème en essayant d'installer python3.7 sur un ubuntu14.Machine 04. Le problème était que j'avais des dossiers personnalisés dans mon PKG_CONFIG_PATH et dans mon LD_LIBRARY_PATH, ce qui empêchait le processus de compilation python pour trouver les bibliothèques système openssl.

alors essayez de les effacer et voir ce qui se passe:

export PKG_CONFIG_PATH=""
export LD_LIBRARY_PATH=""
0
répondu Loki 2018-09-27 13:12:06