web-dev-qa-db-fra.com

Problèmes d'utilisation de zsh avec Catalina, Python / Python3, pip / pip3, PATH, zshrc, etc.

J'ai récemment mis à jour vers Catalina et le zsh par défaut. J'ai probablement gâché les chemins pendant la transition et j'essaie actuellement de trier les emplacements de Python3.7, pip3, le chemin d'accès en ligne de commande et mon fichier zshrc.

Il semble que des fichiers potentiellement redondants soient contenus dans/usr/bin,/usr/local/bin,/usr/local/Cellar/python et /Users/[user[//local/bin

Voici des reproductions de commandes:

$ which python3
/usr/bin/python3
$ which python
/usr/bin/python
$ which pip
pip not found
$ which pip3
/usr/bin/pip3
$ pip3 -V
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
$ cat ~/.zshrc
export PATH=$PATH:/usr/local/bin:/usr/bin
$ echo $PATH
/Users/[user]/.local/bin:/bin:/usr/bin:/usr/local/bin:/Users/[user]/anaconda3/bin:/Users/[user]/anaconda3/bin:/Users/[user]/.local/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/[user]/anaconda3:/Library/TeX/texbin:/usr/local/share/dotnet:/Library/Frameworks/Mono.framework/Versions/Current/Commands:/Applications/Xamarin Workbooks.app/Contents/SharedSupport/path-bin:/usr/local/bin:/usr/bin:/usr/local/bin:/usr/bin

Quelqu'un peut-il m'aider à résoudre tout cela? D'après ce que je comprends: je n'ai besoin que de Python2.x pour OS; avec Catalina, je devrais maintenant stocker Python3.x seulement dans mon utilisateur (pas dans/usr)? pip3 est automatiquement installé avec Python3.x (bien que le mien renvoie une erreur) et devrait également être installé dans mon utilisateur et non dans/usr? De plus, mon $ PATH contient toujours des restes, par exemple, Anaconda, que j'ai supprimé depuis ... comment/où dois-je mettre à jour mon $ PATH? Dans le fichier zshrc?

14
OJT

J'ai rencontré ce problème après une nouvelle installation de Catalina. J'utilise également zsh.

Ce que j'ai fait de mal:

J'ai installé une nouvelle version de pip en utilisant:

Sudo pip3 install --upgrade pip

comme demandé. Cependant, cela ne fonctionnera pas avec le python d'Apple, car le chemin d'accès ne sera pas correct. Au lieu, Sudo -H Devrait être utilisé.

Comment j'ai réparé pip:

Heureusement, python3 -m pip fonctionne toujours comme solution de contournement pour pip3.

Installez une ancienne version de pip (dans mon cas, 19.3.0 était suffisant):

Sudo -H python3 -m pip install --upgrade pip==19.3.0

puis mettez à niveau à nouveau:

Sudo -H python3 -m pip install --upgrade pip

J'espère que cela résoudra également votre problème.

8
Jonas Drotleff

J'avais un problème similaire. Vous pouvez utiliser

rehash

dans votre ligne de commande pour mettre à jour vos chemins. Cela a résolu le problème pour moi.

1
00schneider

J'ai eu le même problème que toi. Résolu avec

brew install python3
1
Stev3

J'ai résolu le problème en supprimant ~/Library/Python.

1
okkwon

Je rencontrais également ce problème sur une nouvelle installation de MacOS Catalina avec le terme Kitty emulator + ohmyzsh.

La lecture de cette question m'a conduit à mon .zshrc qui avait encore la ligne commentée

\#export PATH=$HOME/bin:/usr/local/bin:$PATH

J'ai supprimé le commentaire, qui a ajouté $ HOME/bin au CHEMIN

~/.zshrc

export PATH=$HOME/bin:/usr/local/bin:$PATH

Cette modification m'a permis d'exécuter avec succès le pip3 commande sans l'erreur traceback.

0
Hank