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

14

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 uniquement 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 depuis supprimé ... comment / où dois-je mettre à jour mon $ PATH? Dans le fichier zshrc?

OJT
la source
Il semble que, indépendamment des modifications (par exemple, j'ai supprimé anaconda de mon fichier / etc /path parce que je ne l'utilise plus), quel python et quel python3 pointent vers / usr / bin au lieu d'un autre emplacement.
OJT
1
which -avous montrera tous les chemins possibles qui correspondent, dans l'ordre dans lequel ils apparaissent PATH. Cette information peut s'avérer utile.
chepner
Je rencontre le même problème après la mise pipà jour avec sudo pip3 install ---upgrade pipCatalina. Cependant, l'utilisation de python3 -m pipsitll fonctionne. Vous pouvez utiliser cela comme solution de contournement.
Jonas Drotleff

Réponses:

8

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

Ce que j'ai fait de mal:

J'ai installé une nouvelle version de pipen utilisant:

sudo pip3 install --upgrade pip

comme demandé. Cependant, cela ne fonctionnera pas avec Apple python, car le chemin ne sera pas correct. Au lieu de cela, sudo -Hdoit être utilisé.

Comment j'ai réparé pip:

Heureusement, python3 -m pipfonctionne toujours comme solution de contournement pip3.

Installez une ancienne version de pip(dans mon cas, 19.3.0c'é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.

Jonas Drotleff
la source
0

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

brew install python3
Stev3
la source
1
Exactement la même configuration et erreur que OP, non résolue par cela.
Melka
0

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

okkwon
la source
S'il vous plaît chaque fois que vous répondez à une question ou ajoutez un commentaire, assurez-vous qu'il est dans un tel format qui est compréhensible par d'autres personnes et qui a du sens, si un nouvel utilisateur arrive.
ashwin agrawal
0

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 à la mienne .zshrcqui 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 correctement la pip3commande sans l'erreur de traceback.

Hank
la source
0

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.

00schneider
la source