Kig
Desde que obtuve el mac OS v12.3 (Monterey) (aunque no estoy seguro de que esté relacionado), recibí este error cuando intento ejecutar mi código de Python en la terminal:
Estoy usando Python 3.10.3, Átomo IDE, y ejecute el código en la terminal a través del paquete atom-python-run (que solía funcionar perfectamente bien). La configuración del paquete es así:
los which
El comando en la terminal devuelve lo siguiente (lo cual es extraño, porque antes devolvería algo solo para which python
):
Deduzco que el error ocurre porque la terminal pide python
en vez de python3
, pero soy muy nuevo en cualquier codificación y no tengo idea de por qué comenzó ahora y cómo solucionarlo. Nada de esto me ha funcionado:
- Eliminé y luego reinstalé el intérprete de Python de python.org.
- Lo intenté
alias python='python3'
(que vi en uno de los hilos aquí). - Lo intenté
export PATH="/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"
(que encontré aquí). - Para restablecer zsh y rutas, eliminé todos los archivos ocultos asociados en
/local/users/
y ejecuté la terminal una vez más. - Eliminé todo y reinstalé Mac OS X y el intérprete de Python solo para obtener el mismo error.
Bernd Kampl
Cualquiera que actualice su macOS a Monterey 12.3 descubrirá que de repente ya no tiene Python 2 proporcionado por el sistema.
La razón de esto es que Apple eliminó la instalación de Python 2 proporcionada por el sistema (detalles).
Entonces, una solución alternativa para esto es usar pyenv para instalar Python 2.7 (o cualquier otra versión específica que necesite).
- Instalar
pyenv
conbrew
para administrar diferentes versiones de Python:brew install pyenv
- Enumere todas las versiones instalables con
pyenv install --list
- Instale Python 2.7.18 con
pyenv install 2.7.18
- Lista de versiones instaladas con
pyenv versions
- Establecer la versión global de python con
pyenv global 2.7.18
- Agregar
eval "$(pyenv init --path)"
a~/.zprofile
(o~/.bash_profile
o~/.zshrc
lo que necesites) - Vuelva a iniciar el shell y verifique que Python funcione, o ejecute
$ source ~/.zprofile
(¡Gracias masoud soroush!)
-
Esta debería ser la respuesta aceptada si el objetivo es hacer que Python 2 funcione en Mac OS Monterey
– moveson
4 de mayo a las 13:12
-
¿Por qué todas las respuestas conducen a
homebrew
? Hace poco emigré apyenv
+pipenv
solo para la gestión utilizandomacports
y estoy golpeando errores similares. En la mayoría de los casos, el usuario$PATH
está jodido.– Kambiz
3 jun a las 16:48
-
no funciona para mi Solo el mismo error. No puedo imaginar por qué.
– surfista
18 de julio a las 12:20
-
@surfrider, ¿lo agregaste a la RUTA y reiniciaste tu Terminal?
– Bernd Kampl
18 de julio a las 12:44
-
Hice todo paso a paso.
– surfista
18 de julio a las 13:06
OK, después de un par de días intentándolo, esto es lo que me ha funcionado:
- Reinstalé Monterey (no estoy seguro de que fuera esencial, pero pensé que me había metido con la terminal y
$PATH
demasiado). - lo instalé
python
a través debrew
en lugar de desde el sitio web oficial. Todavía volveríacommand not found
error. - corrí
echo "alias python=/usr/bin/python3" >> ~/.zshrc
en terminal a aliaspython
conpython3
.
Problema resuelto.
Por lo que entiendo, no hay más python 2.x preinstalado en macOS a partir de 12.3, de ahí el error. Todavía me parece extraño que atom-python-run
llamaría para python
en vez de python3
a pesar de los ajustes.
-
En algunos casos, un programa que está utilizando no examina su
~/.zshrc
. En mi caso, una solución más portátil fue ejecutarln -s /opt/homebrew/bin/python3 /usr/local/bin/python
que no depende de zsh.– Ava
2 de mayo a las 5:57
-
echo "alias python=/usr/bin/python3" >> ~/.zshrc
es el comando correcto, por lo que agrega una nueva línea antes del contenido anterior en el archivo ~/.zshrc– Alex Arvanitidis
11 de agosto a las 11:21
-
No necesita definir un alias si instala Python 3.x usando Pyenv, por ejemplo. Consulte mi respuesta stackoverflow.com/a/73772425/505650 para obtener una solución funcional.
– Jarno Lamberg
19 de septiembre a las 18:38
Alvin
Si simplemente instaló Python 3, solo use python3
como el comando en lugar de solo python
. En mi caso, tuve que instalar pynev
primera vía Cerveza casera (ejecutable brew
) usando brew install pyenv
.
Pero aún después de usar pynev para instalar Python 2.7.18 y configurarlo como una versión global usando pyenv global 2.7.18
todavía me encontré con un error al intentar ejecutar python
.
Lo que funcionó para mí (ya que ya tenía instalado Python 3) fue cambiar mi comando para usar python3
en lugar de solo python
. Por supuesto, esto no será una solución para todos los que quieran usar Python 2.
-
Gracias, agregando el
3
detrásPython
¡hizo que los comandos funcionaran! Me pregunto por qué esto es … alguien una explicación?– Mikhail Ratner
29 de junio a las 13:54
-
¿Cómo puedo simplemente usar python como un comando que parece mucho más simple?
– Subhan Ahmed
30 de julio a las 15:57
-
Parece que puede usar un alias (aunque hay algunas advertencias), @SubhanAhmed echa un vistazo: askubuntu.com/questions/320996/…
– Alvin
31 de julio a las 11:57
-
Su comentario aborda solo uno de los 2 problemas. El problema de instalar una versión adecuada de Python y llamarlo desde la terminal se resolvió en una de las primeras respuestas. Lo que me queda ahora es por qué
atom-python-run
sigue llamandopython
en vez depython3
a pesar de los ajustes. Asegúrese de leer el problema y la respuesta aceptada antes de contribuir.– Kig
4 de agosto a las 6:13
Instalé Python, luego ocurrió este error y simplemente ejecuté
echo “alias python=/usr/bin/python3” >> ~/.zshrc
y funcionó en macOS Monterey 12.4, Python 3.8.9
ewuraba
Desde que instaló python3.9> (https://python.org/descargas/), solo necesita ejecutar todo con python3
en vez de python
. No tiene que degradar su python para usarlo … Funciona bien con el sufijo python con 3, es decir python3
p.ej.
$ which python3
, python3 --version
, $ python3 script.py
etc.
-
Su comentario aborda solo uno de los 2 problemas (y aún no trae nada a la mesa ya que no es el primero en recomendar eso en este hilo). El problema de instalar una versión adecuada de Python y llamarla desde la terminal se resolvió en una de las primeras respuestas. Lo que me queda ahora es por qué
atom-python-run
sigue llamandopython
en vez depython3
a pesar de los ajustes. Asegúrese de leer el problema y la respuesta aceptada antes de contribuir.– Kig
4 de agosto a las 6:17
-
@Kig, asegúrese de leer Cómo preguntar y centre sus preguntas en una problema especifico. Las preguntas aquí no deberían ser preguntas múltiples para empezar…
– Tomerikoo
6 ago a las 12:15
-
Esto no proporciona una respuesta a la pregunta. Una vez que tenga suficiente reputación, podrá comentar cualquier publicación; en cambio, proporcionar respuestas que no requieran aclaración por parte del autor de la pregunta. – De la revisión
– Dan Alejandro
9 de agosto a las 3:57
eddie un
Deberías intentarlo
sudo ln -s /usr/bin/python3 /usr/local/bin/python
eso resuelve mi problema:)
-
Su comentario aborda solo uno de los 2 problemas (y aún no trae nada a la mesa ya que no es el primero en recomendar eso en este hilo). El problema de instalar una versión adecuada de Python y llamarla desde la terminal se resolvió en una de las primeras respuestas. Lo que me queda ahora es por qué
atom-python-run
sigue llamandopython
en vez depython3
a pesar de los ajustes. Asegúrese de leer el problema y la respuesta aceptada antes de contribuir.– Kig
4 de agosto a las 6:17
-
@Kig, asegúrese de leer Cómo preguntar y centre sus preguntas en una problema especifico. Las preguntas aquí no deberían ser preguntas múltiples para empezar…
– Tomerikoo
6 ago a las 12:15
-
Esto no proporciona una respuesta a la pregunta. Una vez que tenga suficiente reputación, podrá comentar cualquier publicación; en cambio, proporcionar respuestas que no requieran aclaración por parte del autor de la pregunta. – De la revisión
– Dan Alejandro
9 de agosto a las 3:57
Acabo de tener este problema en una nueva Macbook Pro con macOS Monterey, y lo siguiente funcionó para mí usando Homebrew.
Usando alias
no es necesario cuando se utiliza Pyenv. Probado con Atom 1.60.0 y atom-python-run 0.9.7.
-
Instalar
pyenv
(https://github.com/pyenv/pyenv#instalación) y sus dependencias (https://github.com/pyenv/pyenv/wiki#suggested-build-environment):brew install pyenv brew install openssl readline sqlite3 xz zlib tcl-tk
-
Instale Python 3.10.6 pero supongo que otras versiones 3.x también deberían funcionar:
pyenv install 3.10.6
-
Agregue Pyenv a su shell de acuerdo con las instrucciones en https://github.com/pyenv/pyenv#set-up-your-shell-environment-for-pyenv. En su directorio de inicio:
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc echo 'command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrc echo 'eval "$(pyenv init -)"' >> ~/.zshrc
-
Haga que el Python instalado esté disponible en todas partes (esto se puede anular por proyecto o carpeta, si es necesario):
pyenv global 3.10.6
Ahora, la salida se ve así:
% which python
/Users/jl/.pyenv/shims/python
% python --version
Python 3.10.6
Si algunas secuencias de comandos aún fallan, verifique que haya agregado Pyenv a los archivos de inicio de shell necesarios como se menciona en el paso 3 anterior.
-
Cada vez que trato de correr
pyenv install 3.10.6
Me piden que instale XCode Developer Tools, que ya está instalado. Dice “El comando ‘clang’ requiere las herramientas de desarrollo de la línea de comandos”. El error en la Terminal dice:make: error: sh -c '/Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild -sdk '' -find make 2> /dev/null' failed with exit code 34304: (null) (errno=No such file or directory)
Estoy en Monterrey.– Corey
hace 3 horas
Por favor revise ¿Por qué no subir imágenes de código/errores al hacer una pregunta? (p.ej, “Las imágenes solo deben usarse para ilustrar problemas que no se puede aclarar de otra manera, como para proporcionar capturas de pantalla de una interfaz de usuario”.) y tome la acción apropiada (también cubre la salida del terminal).
-Peter Mortensen
26 de junio a las 21:07