J'ai installé Python 3.4 et Python 3.6 sur ma machine locale avec succès, mais je ne parviens pas à installer les packages avec pip3
.
Lorsque j'exécute pip3 install <package>
, j'obtiens l' erreur suivante liée au SSL :
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 installation Python3.x afin de pouvoir installer des packages avec pip install <package>
?
sudo apt-get install python3-pip
??pip3 install --upgrade pip
voir si vous recevez le même message ou non.Réponses:
Guide étape par étape pour installer Python 3.6 et pip3 dans Ubuntu
Installez les packages nécessaires pour Python et ssl:
$ sudo apt-get install libreadline-gplv2-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev
Téléchargez et décompressez "Python-3.6.8.tar.xz" depuis https://www.python.org/ftp/python/ dans votre répertoire personnel.
Ouvrez le terminal dans ce répertoire et exécutez:
$ ./configure
Construire et installer:
$ sudo make && sudo make install
Installez les packages avec:
$ pip3 install package_name
la source
Si vous êtes sur Red Hat / CentOS:
la source
openssl-devel
exécuterpython2.7 get-pip.py
Si vous êtes sous Windows et utilisez anaconda, cela a fonctionné pour moi:
J'ai essayé beaucoup d'autres solutions qui n'ont pas fonctionné (Changements de variable PATH d'environnement ...)
Le problème peut être causé par des DLL dans le dossier Windows \ System32 (par exemple, libcrypto-1_1-x64.dll ou libssl-1_1-x64.dll ou autres) placés là par d'autres logiciels.
Le correctif installait openSSL à partir de https://slproweb.com/products/Win32OpenSSL.html qui remplace les dll par des versions plus récentes.
la source
J'ai eu un problème similaire sur OSX 10.11 en raison de l'installation de Memcached qui a installé python 3.7 au-dessus de 3.6.
J'ai passé des heures à dissocier openssl, à réinstaller, à changer de chemin ... et rien n'y fit. Changer la version openssl d'une version plus ancienne a fait l'affaire:
Je n'ai vu cette suggestion nulle part sur Internet. J'espère que ça sert quelqu'un.
la source
brew switch openssl 1.0.2s
. Mais c'était ça. Vous m'avez sauvé, merci!openssl
fonctionné:brew switch openssl 1.0.2t
je suis sur Mac OS Catalina 10.15.3. J'espère que ça aide.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.
Environnement: MacOS Sierra. Et j'utilise Homebrew.
Ma solution:
brew uninstall openssl; brew install openssl
Selon les conseils donnés par Homebrew, procédez comme suit:
la source
brew uninstall openssl, brew install openssl
. J'ai essayébrew reinstall openssl
ce qui n'a eu aucun effet. Mais la désinstallation / installation fonctionne!brew uninstall --ignore-dependencies openssl
Dans Ubuntu, cela peut aider:
la source
Rétrograder openssl a fonctionné pour moi,
la source
Le problème est probablement causé par l'absence de bibliothèque.
Avant d'installer python 3.6, assurez-vous d'installer toutes les bibliothèques requises pour python.
Plus d'informations dans Comment installer Python 3.6.0 sur Ubuntu et LinuxMint
la source
Si vous êtes sur OSX et avez compilé python à partir des sources:
Installez openssl à l'aide de brew
brew install openssl
Assurez-vous de suivre les instructions que l'infusion vous donne pour régler votre
CPPFLAGS
etLDFLAGS
. Dans mon cas, j'utilise la[email protected]
formule de brassage et j'ai besoin de ces 3 paramètres pour que le processus de construction python se lie correctement à ma bibliothèque SSL:En supposant que la bibliothèque est installée à cet emplacement.
la source
openssl
travaillé:brew switch openssl 1.0.2t
je suis sous Mac OS Catalina 10.15.3. J'espère que ça aide.J'ai rencontré le même problème sur Windows 10. Mon problème très spécifique est dû à mon installation d'Anaconda. J'ai installé Anaconda et sous le chemin
Path/to/Anaconda3/
, vient lepython.exe
. Ainsi, je n'ai pas du tout installé python car Anaconda inclut python. Lorsque vous utilisez pip pour installer des paquets, j'ai trouvé le même rapport d'erreur,pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.
.La solution était la suivante:
1) vous pouvez télécharger à nouveau python sur le site officiel ;
2) Accédez au répertoire où
"Python 3.7 (64-bit).lnk"
se trouve3)
import ssl
etexit()
4) tapez cmd,
"Python 3.7 (64-bit).lnk" -m pip install tensorflow
par exemple.Ici, vous êtes prêt.
la source
cmd /c $py .\main.py
( Powershell ) oucmd /c %py% .\main.py
( Dos ). Cela l'exécutera dans votre shell existant et peut être scriptéSi vous êtes sous Windows et que vous utilisez Anaconda, vous pouvez essayer d'exécuter la commande "pip install ..." dans Anaconda Prompt au lieu de cmd.exe, comme le suggère l'utilisateur willliu1995 ici . C'était la solution la plus rapide pour moi, qui ne nécessite pas l'installation de composants supplémentaires.
la source
J'ai essayé BEAUCOUP de façons de résoudre ce problème et aucune n'a été résolue. Je suis actuellement sous Windows 10.
La seule chose qui a fonctionné était:
Ensuite, j'ai téléchargé toutes les bibliothèques dont j'avais besoin en utilisant PIP ... et j'ai travaillé!
Je ne sais pas pourquoi, ou si le problème était en quelque sorte lié à Anaconda.
la source
pour les utilisateurs d'osx brew
mon problème est apparu lié à mon installation python et a été rapidement résolu en réinstallant python3 et pip. Je pense que cela a commencé à mal se comporter après une mise à jour du système d'exploitation mais qui sait (pour le moment, je suis sous Mac OS 10.14.6)
la source
brew reinstall python3 --force
était suffisante: apip
fonctionné à nouveau après cela, je n'ai pas eu besoin de réinstallerpip
.Vous pouvez faire l'un de ces deux:
ou
\Anaconda
\ Anaconda \ Bibliothèque \ mingw-w64 \ bin
\ Anaconda \ Bibliothèque \ usr \ bin
\ Anaconda \ Bibliothèque \ bin
\ Anaconda \ Scripts
\ anaconda \ Bibliothèque
\ anaconda \ condabin
Ajoutez les chemins ci-dessus à la variable système "Path" et il ne devrait plus afficher l'erreur :)
la source
J'avais le même problème et j'ai pu le résoudre avec les étapes suivantes:
selon les permanentes, vous n'aurez peut-être pas besoin de sudo.
devrait maintenant pouvoir exécuter
et
Lors de l'installation de packages:
ou selon les perms, vous pouvez également ajouter le drapeau --user comme ceci:
la source
Le
ssl
module est un wrapper TLS / SSL pour accéder au socket Operation Sytem (OS) ( Lib / ssl.py ). Ainsi, lorsque lessl
module n'est pas disponible, il est probable que vous n'ayez pas de bibliothèques OS OpenSSL installées, ou que ces bibliothèques n'aient pas été trouvées lorsque vous installez Python. Supposons que ce soit un cas plus récent (c'est-à-dire: vous avez déjà installé OpenSSL, mais ils ne sont pas correctement liés lors de l'installation de Python).Je suppose également que vous installez à partir des sources. Si vous installez à partir d'un fichier binaire (par exemple: fichier .exe Window) ou d'un package (Mac .dmg ou Ubuntu apt), vous ne pouvez pas faire grand-chose avec le processus d'installation.
Lors de l'étape de configuration de votre installation python, vous devez spécifier où l'OS OpenSSL sera utilisé pour la liaison:
Alors, où trouverez-vous votre répertoire OpenSSL installé?
Votre système peut être différent du mien, mais comme vous le voyez ici, j'ai de nombreuses bibliothèques OpenSL installées. Au moment d'écrire ces lignes, python 3.8 s'attend à openssl 1.0.2 ou 1.1:
Vous devez donc vérifier laquelle de ces bibliothèques installées vous pouvez utiliser pour la liaison, par exemple
Vous devrez peut-être en essayer quelques-uns, ou en installer un nouveau, pour trouver la bibliothèque qui fonctionnerait pour votre Python et votre système d'exploitation.
la source
Dans mon cas avec l'utilisation de Mac, j'ai supprimé
/Applications/Python 3.7
. car j'avais déjà Python3.7 parbrew install python3
.Mais c'était un déclencheur du message
Ce que j'ai fait dans ma situation
/Applications/Python3.6/Install Certificates.command
et/Applications/Python3.6/Update Shell Profile.command
.pip.conf
. Voir échec de l'installation de pip .la source
Je résous enfin ce problème. Voici le détail de mon env:
Version de Python à installer: 3.6.8
OS: Ubuntu 16.04.6 LTS
Accès root: Non
Certaines personnes suggèrent d'installer
libssl-dev
, mais cela n'a pas fonctionné pour moi. Je suis ce lien et je l'ai corrigé!En bref, je télécharge, extraye, construis et installe OpenSSL (openssl-1.1.1b.tar.gz). Ensuite, je modifie le
.bashrc
fichier suivant ce lien .Ensuite, je télécharge et extrait Python-3.6.8.tgz. J'édite Modules / Setup.dist pour modifier le chemin SSL (lignes autour du # 211). Je l'ai fait
./configure --prefix=$HOME/opt/python-3.6.8
,make
etmake install
. Enfin, je modifie mon.bashrc
. Notez que je n'inclus pas--enable-optimizations
dans./configure
.la source
Sur macos, configurer python 3.8.1 avec la commande ci-dessous résoudra le problème, je pense que cela fonctionnerait également sous Linux.
modifiez le paramètre dir en fonction de votre système.
la source
Si vous êtes sur OSX et au cas où les autres solutions ne fonctionneraient pas pour vous (tout comme moi).
Vous pouvez essayer de désinstaller python3 et de mettre à niveau pip3
Cela a fonctionné pour moi;)
la source
(PAS sous Windows!)
Cela m'a fait arracher mes cheveux pendant une semaine, alors j'espère que cela aidera quelqu'un
J'ai tout essayé, sauf réinstaller Anaconda et / ou Jupyter.
Installer
./anaconda3/bin/python
)/usr/bin/python
et/usr/bin/python3
(mais ceux-ci n'étaient pas utilisés car la plupart du travail était effectué dans le terminal de Jupyter)Réparer
Dans le terminal de Jupyter:
cp /usr/lib64/libssl.so.10 ./anaconda3/lib/libssl.so.1.0.0
cp /usr/lib64/libcrypto.so.10 ./anaconda3/lib/libcrypto.so.1.0.0
Qu'est-ce qui a déclenché cela?
Donc, tout cela fonctionnait jusqu'à ce que j'essaye de faire un
conda install conda-forge
Je ne suis pas sûr de ce qui s'est passé, mais conda doit avoir mis
openssl
à jour la boîte (je suppose) donc après cela, tout s'est cassé.Fondamentalement, à mon insu, conda avait mis à jour openssl, mais avait en quelque sorte supprimé les anciennes bibliothèques et les avait remplacées par
libssl.so.1.1
etlibcrypto.so.1.1
.Python3, je suppose, a été compilé pour rechercher
libssl.so.1.0.0
En fin de compte, la clé du diagnostic était la suivante:
python -c "import ssl; print (ssl.OPENSSL_VERSION)"
a donné l'indice
library "libssl.so.1.0.0" not found
L'énorme hypothèse que j'ai faite est que la
yum
version de ssl est la même que laconda
version, donc le simple fait de renommer l'objet partagé peut fonctionner, et c'est le cas.Mon autre solution était de recompiler python, de réinstaller anaconda, etc., mais à la fin je suis content de ne pas en avoir eu besoin.
J'espère que cela vous aidera les gars.
la source
Dans le cas de l'utilisation
pyenv
pour gérer les installations python sur Mac OS Catalina, je devais d'abord installeropenssl
avec brew, puis après cette exécutionpyenv install 3.7.8
qui semblait créer l'installation de python en utilisant leopenssl
from homebrew (il était même indiqué en tant que tel dans la sortie de l'installation).pyenv global 3.7.8
Et puis j'étais absent.la source
J'ai pu résoudre ce problème en mettant à jour la version python dans ce fichier. pyenv: la version `3.6.5 'n'est pas installée (définie par /Users/taruntarun/.python-version) Bien que la dernière version soit installée, ma commande utilisait toujours l'ancienne version 3.6.5
Passer à la version 3.7.3
la source
J'avais le même problème ces deux derniers jours et je ne l'ai résolu que maintenant.
J'avais essayé d'utiliser l'
--trust-host
option avec leDigiCert_High_Assurance_EV_Root_CA.pem
ne fonctionnait pas, je ne pouvais pas installer le module ssl (il indique qu'il ne peut pas être installé pour les versions python supérieures à 2.6), la définition de la$PIP_CERT
variable ne l'a pas corrigé non plus et j'ai eulibssl1.0.2
etlibssl1.0.0
installé. Il convient également de mentionner que je n'avais pas de~/.pip/pip.conf
fichier et que sa création n'a pas non plus résolu le bogue.Ce qui l'a finalement résolu, a été d'installer à
make
nouveau python3.6 avec . Téléchargez le Python-3.6.0.tgz à partir du site Web, exécutezconfigure
ensuitemake
,make test
etmake install
. J'espère que ça marche pour toi.la source
La documentation python est en fait très claire, et suivre les instructions a fait le travail alors que les autres réponses que j'ai trouvées ici ne résolvaient pas ce problème.
tout d'abord, installez python 3.xx à partir des sources en utilisant, 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 openssl est installé en exécutant
brew install openssl
décompressez-le et déplacez-vous dans 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écutezmake -s -j2
(-s
est le drapeau silencieux,-j2
dit à votre machine d'utiliser 2 travaux)la source
J'ai eu le même problème en essayant d'installer python3.7 sur une machine ubuntu14.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 construction de python de trouver les bibliothèques système openssl.
alors essayez de les effacer et voyez ce qui se passe:
la source
Ok, la dernière réponse à cela, pour l'instant n'utilisez pas Python 3.8 , utilisez seulement 3.7 ou moins, car la plupart des bibliothèques ne parviennent pas à s'installer avec l'erreur ci-dessus
la source
gcc
,openssl
etzlib
. Il est donc important d'installer ces prérequis avant de compiler python, en particulier lorsqu'il est utilisé sous Linux.