"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>
?
9 réponses
guide étape par étape pour installer Python 3.6 et pip3 dans Ubuntu
Télécharger Python-3.6.1.tar.xz https://www.python.org/
décompressez le fichier et conservez le dossier dans le répertoire d'accueil.
ouvrir le terminal dans ce répertoire et exécuter les commandes suivantes:
./configure make make test sudo make install
- 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
maintenant, écrivez ce qui suit pour relancer l'installation:
sudo make sudo make install
maintenant vous pouvez installer des paquets avec
Python 3.6
utilisant la commande pip3. Par exemple:sudo pip3 install numpy
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
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
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.
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 configure
make
,make test
et make install
. Espérons que cela fonctionne pour vous.
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:
- réinstaller openssl par
brew uninstall openssl, brew install openssl
; 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"
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.
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.
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
assurez-vous que vous avez openssl installé en exécutant
brew install openssl
décompressez-le, et déplacez le répertoire python:
tar xvzf Python-3.6.2.tar.xz && cd Python-3.6.2
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)
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=""