J'ai d'abord installé les outils de développement xcode en utilisant
%xcode-select --install
puis j'ai installé Homebrew en utilisant
/usr/bin/Ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
puis j'ai fait
%brew install python3
%pip3 install pipenv
mais quand j'appelle
%pip3
Je reçois
% pip3
Traceback (most recent call last):
File "/Library/Developer/CommandLineTools/usr/bin/pip3", line 10, in <module>
sys.exit(main())
TypeError: 'module' object is not callable
C'est là que se trouvent mes pip3 et python3
% which pip3
/usr/bin/pip3
% which python3
/usr/bin/python3
Quelqu'un peut-il s'il vous plaît m'aider à résoudre ce problème. J'essaie d'apprendre à programmer mais je ne peux pas continuer sans résoudre ce problème
MacOS Catalina est livré avec ses propres versions de python3
et pip3
, il s'agit probablement d'un conflit entre macOS et les bibliothèques installées par Brew Python. J'ai résolu des problèmes similaires en n'utilisant plus Brew pour tout ce qui concerne Python.
Ma recommandation: à partir d'une nouvelle installation de Catalina, exécutez Sudo pip3 install pipenv
. Créez un répertoire distinct pour chaque projet sur lequel vous travaillez et exécutez pipenv Shell
de ce répertoire chaque fois que vous y travaillez. Ne prenez jamais la peine d'installer des packages à l'échelle du système et n'écrasez pas le Python de macOS. Tout ce que vous faites, faites dans un environnement virtuel géré Pipenv - installez uniquement les packages via pipenv install <pkg>
.
Faire tout cela gardera la bonne version du binaire Python et tous les paquets associés dans un répertoire à l'intérieur de ~/.local/share/virtualenvs/
pour chaque projet. De cette façon, les futures mises à jour de macOS ne devraient pas toutes rompre les dépendances.
J'ai eu un problème similaire après la mise à niveau vers Catalina car j'utilisais déjà homebrew et Python/pipenv a cessé de fonctionner comme prévu. Mon Python plantait à chaque fois, j'ai exécuté pipenv install
avec une erreur décrite dans ce thread developer.Apple.com . La réponse par Mickey Ristroph semble être une solution de contournement correcte, mais elle ne résout pas vraiment le problème.
Je veux pouvoir utiliser homebrew pour tous mes logiciels installés sur MacOS, y compris Python. Mais il y avait de l'aide, puisque le problème était l'utilisation d'une mauvaise version libcrypto dylib
version. Pour résoudre le problème, mettez à jour et mettez à niveau les packages de brassage et assurez-vous que openssl
est installé:
brew update && brew upgrade && brew install openssl
Ensuite, nous créons de nouveaux liens symboliques vers l'homebrew installé libssl.dylib
et libcrypto.dylib
bibliothèques:
# go to homebrew installed openssl dir:
cd /usr/local/Cellar/openssl/1.0.2t/lib
Sudo cp libssl.1.0.0.dylib libcrypto.1.0.0.dylib /usr/local/lib/
cd /usr/local/lib
# if there are links already, you may backup them:
mv libssl.dylib libssl_bak.dylib
mv libcrypto.dylib libcrypto_bak.dylib
# now create new symbolic links:
Sudo ln -s libssl.1.0.0.dylib libssl.dylib
Sudo ln -s libcrypto.1.0.0.dylib libcrypto.dylib
Maintenant, mon homebrew installé Python (et pipenv
) fonctionne à nouveau comme un charme.
Vous devez modifier la commande brute utilisée pour installer les bibliothèques et les supports dans macOS Catalina comme suit:
python3 -m pip install pipenv
(au lieu de pip3 install pipenv
)