J'ai du mal à exécuter pip install
dans un virtualenv sur OSX 10.13. J'ai déjà couru brew install openssl
et le chemin /usr/local/include/openssl
pointe vers ../opt/openssl/include/openssl
. Est-ce que quelqu'un sait comment réparer ceci? Cela a commencé à se produire après avoir réinstallé à l' python
aide de brew install
.
pip est configuré avec des emplacements qui nécessitent TLS / SSL, cependant le module ssl en Python n'est pas disponible. La collecte de l'oreiller n'a pas pu récupérer l'URL https://pypi.python.org/simple/pillow/ : un problème est survenu lors de la confirmation du certificat SSL: impossible de se connecter à l'URL HTTPS car le module SSL n'est pas disponible. - ignorer Impossible de trouver une version qui satisfait à l'exigence Oreiller (à partir des versions:) Aucune distribution correspondante trouvée pour Oreiller
MISE À JOUR: Voici quelques informations supplémentaires:
✗ which python
/usr/local/opt/python/libexec/bin/python
✗ which pip
/usr/local/opt/python/libexec/bin/pip
✗ python --version
Python 3.7.4
✗ pip --version
pip 19.1.1 from /usr/local/lib/python3.7/site-packages/pip (python 3.7)
✗ brew info python
python: stable 3.7.4 (bottled), HEAD
Interpreted, interactive, object-oriented programming language
https://www.python.org/
/usr/local/Cellar/python/3.6.5_1 (4,795 files, 100.0MB)
Poured from bottle on 2019-10-08 at 14:39:37
/usr/local/Cellar/python/3.7.4_1 (3,903 files, 60.6MB) *
Poured from bottle on 2019-10-08 at 14:37:10
From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/python.rb
Oui, les versions 3.6.5_1 et 3.7.4_1 sont installées car je devrai parfois basculer entre les deux.
✗ brew unlink openssl
Unlinking /usr/local/Cellar/openssl/1.0.2s... 0 symlinks removed
which python
,which pip
,python --version
,pip --version
. Puis, la dernière fois que j'ai vérifié,openssl
il n'y avait que des fûts, donc je ne/usr/local/include/openssl
devrais pas être présent, courirbrew unlink openssl
.brew unlink
.Réponses:
Le
ssl
module ainsi que son extension C sous-jacente semblent faire partie de lapython
formule:donc le fait de le manquer signifie probablement une corruption d'installation du paquet qui
brew reinstall python
devrait être corrigée.Notez également que même si Homebrew permet à plusieurs versions de coexister, sa logique d'installation n'est pas tout à fait conçue pour garder les versions alternatives opérationnelles à moins qu'elles ne soient installées via une formule versionnée (et par exemple, supprime régulièrement les anciennes versions de manière régulière
brew cleanup
).Envisagez donc d'utiliser
pyenv
(également disponible viabrew
) si vous devez basculer régulièrement entre les versions de Python - ou un robinet tiers qui propose des formules versionnées pour cela.la source
brew reinstall
le corrige en effet.Mac OSX Catalina (et même problème sur OSX Mojave) Pyenv
Pour tous ceux qui recherchent ce sujet, j'ai eu le même problème de présentation, mais Python avait été installé via Homebrew et Pyenv !! Il aurait été préférable (IMO) d'utiliser simplement Pyenv pour gérer facilement les versions. Comme mentionné par @ivan_pozdeev dans sa réponse, mais voici quelques détails que vous pourriez souhaiter.
Si votre situation est similaire, aucune des solutions ci-dessus ne suffirait à remettre les choses en ordre. En partie j'ai été aidé par une réponse liée ici Pyenv: https://stackoverflow.com/a/51797298/3084820 Je me trouvais aussi avoir
pyenv-virtualenv
installé, afin de mentionner que, ainsi, comme il est courant d'utiliser ces deux ensemble.J'ai finalement pris les mesures suivantes pour résoudre le problème:
Maintenant, pour une installation propre gérable avec Pyenv:
Cela m'a donné une installation propre et fonctionnelle de Python 3.6.10, et si je le voulais ou si j'en avais besoin, je pouvais installer une version différente et basculer entre avec Pyenv.
la source
brew uninstall python
si vous utilisez simplementpyenv
? Ou cela crée-t-il un conflit quelque part? De plus, j'ai essayébrew uninstall python
et cela m'a lancé le message d'erreur "Erreur: Refuser de désinstaller /usr/local/Cellar/python/3.7.7 car il est requis par [un tas d'autres packages]". Il est probablement sûr d'aller de l'avant avec la suggestion debrew uninstall --ignore-dependencies python
, mais j'hésite néanmoins. Je ne me souviens pas comment j'ai utilisé cette version de python, et si je l'utilise toujours.pyenv uninstall 3.6.6
pyenv install 3.6.6
pyenv global 3.6.6
brew uninstall python
même s'il a provoqué l'erreur de ne pas désinstaller python. Peut-être que la commande a fait un nettoyage préliminaire de toute façon, avant de décider qu'elle n'irait pas de l'avant avec la désinstallation de python? Ou peut-être que j'ai fait autre chose. En tout cas, j'ai toujours un problème différent avec une autre version de python, et je pense que je vais réinstaller cette version comme vous le suggérez.J'ai eu un problème similaire avec Catalina et je n'ai pas pu faire réinstaller homebrew pour qu'il fonctionne. J'ai essayé plusieurs choses.
En fin de compte, la seule chose qui a fonctionné pour moi a été de désinstaller complètement les deux ainsi que les installations sous-jacentes de python, puis de tout réinstaller.
la source
brew uninstall pyenv pyenv-virtualenv
supprime PAS tous les environnements virtuels comme suggéré par votrepyenv uninstall 3.x.x
?J'ai le même problème, mais la réinstallation n'a pas fonctionné pour moi.
⇒ quel python3
/ usr / local / bin / python3 blamb @ cha-109164-l: / usr / local / bin | master⚡
⇒ quel pip3 / usr / local / bin / pip3 blamb @ cha-109164-l: / usr / local / bin | master⚡
⇒ pip3 -V pip 19.3.1 depuis /usr/local/lib/python3.7/site-packages/pip (python 3.7) blamb @ cha-109164-l: / usr / local / bin | master⚡
⇒ python3 -V Python 3.7.0 blamb @ cha-109164-l: / usr / l
la source
J'ai eu la même erreur et c'est parce que j'utilisais python 3.6.5 dans mon environnement pyenv. Le traitement ci-dessous a fonctionné pour moi.
la source
J'ai également eu cette erreur et je l'ai corrigée avec
brew update && brew upgrade
la source
Ma solution est de réinstaller pyenv et python
la source