Problemas al usar zsh con Catalina, Python / Python3, pip / pip3, PATH, zshrc, etc.


14

Recientemente actualicé a Catalina y el zsh predeterminado. Probablemente estropeé las rutas durante la transición, y actualmente estoy tratando de ordenar las ubicaciones de Python3.7, pip3, la ruta de línea de comandos y mi archivo zshrc.

Parece que hay archivos potencialmente redundantes contenidos en / usr / bin, / usr / local / bin, / usr / local / Cellar / python y /Users/[userfont>/.local/bin

Las siguientes son reproducciones de comandos:

$ 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

¿Alguien puede ayudarme a solucionar todo esto? Por lo que entiendo: solo necesito Python2.x para OS; con Catalina, ¿ahora debería almacenar Python3.x solo dentro de mi usuario (no en / usr)? pip3 se instala automáticamente con Python3.x (aunque el mío devuelve un error) y también debe instalarse en mi Usuario y no en / usr? Además, mi $ PATH todavía contiene restos, por ejemplo, Anaconda, que he eliminado desde entonces ... ¿cómo / dónde actualizo mi $ PATH? Dentro del archivo zshrc?


Parece que, independientemente de las ediciones (por ejemplo, eliminé anaconda de mi archivo / etc / path porque ya no lo estoy usando), qué python y qué python3 apuntan a / usr / bin en lugar de otra ubicación.
— OJT

1
which -ale mostrará todas las rutas posibles que coinciden, en el orden en que aparecen PATH. Esa información puede resultar útil.
— chepner

Estoy experimentando el mismo problema después de actualizar pipusando sudo pip3 install ---upgrade pipCatalina. Sin embargo, el uso de python3 -m pipsitll funciona. Podrías usar esto como una solución alternativa.
— Jonas Drotleff

Respuestas:


8

He experimentado este problema después de una instalación limpia de Catalina. También estoy usando zsh.

Que hice mal:

He instalado una nueva versión de pipusando:

sudo pip3 install --upgrade pip

como se le solicite. Sin embargo, esto no funcionará con Apple python, ya que la ruta no será correcta. En cambio, sudo -Hdebe ser utilizado.

Cómo arreglé el pip:

Afortunadamente, python3 -m piptodavía funciona como una solución alternativa pip3.

Instalar una versión anterior de pip(en mi caso, 19.3.0fue suficiente):

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

y luego actualizar de nuevo:

sudo -H python3 -m pip install --upgrade pip

Espero que esto también resuelva tu problema.


0

Tuve el mismo problema que tú. Resuelto con

brew install python3

1
Exactamente la misma configuración y error que OP, no resuelto por esto.
— Melka

0

Resolví el problema eliminando ~ / Library / Python.


Por favor, cada vez que se contesta a una pregunta o cualquier comentario, asegúrese de que está en un formato que es comprensible por otras personas y tiene sentido, si un nuevo usuario entra en juego.
— Ashwin Agrawal

0

También me encontré con este problema en una nueva instalación de MacOS Catalina con el término Kitty emulator + ohmyzsh.

Leer esta pregunta me llevó a mi .zshrcque todavía tenía la línea comentada

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

Eliminé el comentario, que agregó $ HOME / bin a la RUTA

~/.zshrc

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

Este cambio me permitió ejecutar con éxito el pip3comando sin el error de rastreo.


0

Tuve un problema similar. Puedes usar

rehash

en su línea de comando para actualizar sus rutas. Resolvió el problema para mí.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.