web-dev-qa-db-fra.com

Problèmes avec pip3 et pipenv avec la nouvelle installation de Mac OS Catalina

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

2
MRS_ROBOT

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.

4
Mickey Ristroph

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.

1
jonashackt

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)

0
vijay9908