0

Comencé a utilizar Atom en Ubuntu, y una vez instalado quicé hacer una prueba sencilla, la cual fue correr el siguiente script:

n = input ("Ingrese Nombre: ")
print("Soy "+ n )

Al precionar f5 me aparece la terminal indicandome que ingrese nombre y cuando lo hago, se genera el siguiente mensaje:

Mensaje de error Atom

Realmente, no se que puede estar pasando, he revisado documentación y no logro solucionar el problema.

Agradecería vuestra ayuda, o sugerencias.

Gracias.

1 Answers1

3

He de suponer que el error que estás recibiendo es porque estás ejecutando un script que pretende ser para la versión 3 de python con el intérprete de python 2.

Ahora.... ¿Por qué creo esto?

Bueno, el error que estás recibiendo es un error de tipo NameError al tratar de evaluar una expresión y en está última sentencia está el porqué de tu problema.

Explicación del problema

En python 2, la función input espera recibir como entrada una expresión de python, es decir, lo que le proporciones como entrada será evaluado como código de python y al tú ingresar Luis como entrada python cree que Luis es una variable.

Solución

Para solucionar el problema te tengo las siguientes 2 propuestas:

Solución 1 (Python 3)

Asegúrate de tener instalado el interprete de python 3, puedes revisar la versión de python con el siguiente comando:

$ python --version

Si la versión retornada por el comando anterior es 2.x.x y ya haz instalado python 3, lo más probable es que la versión 3 de python responda bajo el comando python3 en lugar de python.

Puedes verificar que exista el comando de la siguiente forma:

$ python3 --version

Dependiendo con cual comando te regresó la versión 3, será con el que ejecutarás tu script. Por ejemplo:

$ python3 proyecto1.py

Solución 2 (Python 2)

Para python 2, podemos intercambiar la función input por raw_input, la cual nos retornará la entrada del usuario como una cadena de texto, de tal forma que tu código se vería como lo siguiente:

n = raw_input("Ingrese Nombre: ")
print("Soy "+ n )

Conclusión

El problema se debe a que estás ejecutando tu script con el interprete de python 2.

Recomendación

Si estás usando una extensión de tu editor de código para correr el script, revisa en la documentación de esa extensión como configurarla para que ejecute tus programas con python 3.

Te dejo este link que encontré en el foro en inglés que trata del tema:

https://stackoverflow.com/questions/57297618/problem-with-run-python3-code-in-atom-on-ubuntu

Extra

Puedes encontrar una muy buena explicación de las diferencias entre input y raw_input en el siguiente link:

Diferencia entre input() y raw_input()

Jose Noriega
  • 366
  • 1
  • 8