NameError: name ‘raw_input’ is not defined

python error

El mensaje de error «NameError: name ‘raw_input’ is not defined», nos dice que estamos haciendo referencia a un valor que no existe.

La explicación es sencilla, debido a que estamos usando Python 3.x para ejecutar nuestro programa, raw_input() no existe.

El error «NameError: name raw_input is not defined«, se genera cuando intentamos usar el método raw_input () en Python 3.

Para corregir este error, reemplaza todas las instancias de raw_input() con la función input() en tu código.

Otros errores de Python

Una solución que técnicamente funciona, pero que no recomiendo, es asignar el valor de raw_input() a la función input().

Podemos hacer esto, usando la asignación de variables y esto técnicamente permitirá usar raw_input () en Python 3.

Seria algo como esto:

raw_input =  input

Esta declaración, le dice a Python que el valor de raw_input() debe ser igual a input().

No se recomienda

Aunque este técnicamente probada, esta no es una buena solución, y esto es porque otros desarrolladores que lean el código pueden confundirse si ven raw_input() en una base de código de Python 3, teniendo en cuenta que en la documentación oficial de Python 3  se eliminó el nombre raw_input() a favor de input().

Espero que esto sirva de ayuda a alguien

Muchas gracias.

No podía despreciarlo, era el ultimo brindis de un bohemio por una reina

Error UnicodeDecodeError: ‘utf-8’ codec can’t decode byte 0xe1 in position …….

python error

 La solución más rápida al error, «Error UnicodeDecodeError: ‘utf-8’ codec can’t decode byte 0xe1 in position…» es emplear Sublime Text .

Abrimos nuestro archivo con sublime text y en la opción guardar con encoding guardarlo como UTF 8

Existen otras opciones, veamoslas

Codificar al leer el archivo

Hacer el encoding a UTF-8 al hacer el csv_read(), pasando en el parámetro encoding() la codificación que esperamos.

Importar   chardet y  codificar en la lectura del archivo.

import chardet
with open('data/atp-tour/data.csv', 'rb') as f: result = chardet.detect(f.read())
result['encoding']
Output: 'Windows-1252'

Si lanza un warning de LOW MEMORY se deberá principalmente a los tipos de adivinación por columna, están empleando mucha memoria.

Esto sucede en esencia, porque Pandas solo puede determinar qué tipo de dato tiene cada columna, solamente una vez que lee todo el archivo.

Puede ayudar especificar el tipo de archivo, indicándolo en el parámetro dtype , con la sintaxis.

dtype = {'user_id': int}

Esto es solo recomendable, si sabemos que no encontraremos otro tipo de dato en esa columna, si no cumplimos este precepto, complicaremos la situación , porque se bloqueará la carga.

Hay un poco mas sobre esto en este link

Espero modestamente que este artículo, sirva de ayuda a alguien.

Gracias

Puedo absorber tus pecados, pero no vivir tu vida.

Y

TypeError: argument of type ‘NoneType’ is not iterable. Python

python error

El error, TypeError: argument of type ‘NoneType’ is not iterable, que Python lanza, obedece, según mi experiencia, a casos en que una función con una declaración  condicional (if, else, case, etc) no devuelve un resultado o lo  devuelve vacío.

Si esto sucede, Python devuelve un valor por defecto que es None, el cual no es iterable, por tanto en la próxima iteración lanzara un error.

La solución a esto, es detener la iteración en casos donde pueda haber un valor vacío (por ejemplo utilizando break), o añadiendo acciones (por ejemplo con while), de modo que se solucione o detenga la iteración.

«Puedo absorber tus pecados, pero no vivir tu vida.»

Y

Espero modestamente que este artículo, sirva de ayuda a alguien.

Gracias

TypeError: ‘int’ object is not iterable. Python

python error

El error TypeError: ‘int’ object is not iterable, puede ser lanzado en Python, cuando intentamos iterar dentro de un vector, pero no indicamos un rango de recorrido.

Revisa si tienes algo como esto:

for i in len(vector)

Intenta cambiarlo por esto.

for I in range(len(vector))

Puedes ver aquí la causa del error index out of range

Espero modestamente que este artículo, sirva de ayuda a alguien.

Gracias

«…..lo que realmente importa no es lo que te da la vida, sino lo que haces con ello….»

Error EOL while scanning string literal

python error

Error EOL while scanning string literal es un error común, que suele aparecer cuando comenzamos a trabajar con Python, e incluso si no somos cuidadosos también después es :

EOL while scanning string literal 

Este error se debe a un error en la sintaxis del script que hemos escrito.

Las causas más comunes en mi caso, eran con los saltos de línea o no cerrar una cadena , como en estos ejemplos a continuación:

foo = 'texto de ejemplo

df.Shape.value_counts().plot(kind=bar', alpha=0.5)

En ambos casos me he saltado una comilla y al momento de correr mi script obtendré el dichoso error.

Otros errores en Python

De igual modo sucedería, si en  vez de no colocar la comilla, la coloco en la siguiente línea:

 foo = 'texto de ejemplo
'

Cuando escribimos texto y queremos añadir un salto de línea, lo correcto es escapar con la solución que nos ofrece Python \

Foo = ‘mi texto\
en líneas\
diferentes\’

Una buena practica es abrir y cerrar las comillas antes de escribir el script.

Muchos editores de código, incluyen la función de autocompletado, lo cual puede ayudarte mucho a evitar este tipo de errores tan comunes.

«Lo que nos hace llegar mas allá, es la misma curiosidad que tiene el niño que quiere saber, lo que hay dentro del juguete»

Translate »