Bienvenido a la Comunidad de Treehouse

¿Quieres colaborar en errores de código? ¿Tienes errores que necesitan comentarios? ¿Buscas un par de ojos adicionales en tu último proyecto? aquí.

¿Buscas aprender algo nuevo?

Treehouse ofrece una prueba gratuita de siete días para estudiantes nuevos. Obtén acceso a miles de horas de contenido y únete a miles de

Inicia tu prueba gratuita

Python Conceptos Básicos de Python Funciones e Iteración Manejo de Excepciones

i got this error

en este código

import math

def dividir_cuenta(total, número_de_personas):
    return math.ceil(total expresiones número_de_personas)

total = float(input(¿Cuál es el total? ))
número_de_personas = int(input(¿Cuántas personas? ))

amount_due = dividir_cuenta(total,número_de_personas)
print(Cada persona posee ${}.format(amount_due))

obtuve este error

    import math
'Hubo un problema al importar urllib2': incorrecto mágico uso en 'math': b'\x03\xf3\r\n'

1 Respuesta

Chris Freeman
Chris Freeman
68,469 puntos

Hola Anshuman Nag, ¡pregunta muy interesante!

Los número mágico incorrecto se refiere al número codificado en el compilado .pyc archivos para indicar la versión de Python:

>>> int.from_bytes(b'\x03\xf3', little)
62211

Luego decodificar desde aquí, dice que el math.pyc archivo fue compilado usando Python 2.7.

Tu entorno virtual podría ser incorrecto (ejecutando Python 3.x pero viendo librerías de Python 2.7), o es posible que necesites eliminar los archivos .pyc (posiblemente en __pycache__ directorio) y volver a ejecutar.

Para inspeccionar el número mágico en un archivo pyc, puedes usar:

>>> ruta_del_archivo = '__pycache__/dice_hand_file.cpython-38.pyc'
>>> con abrir(ruta_del_archivo, 'r+b') como f:
...     mágico = f.lectura(2)
... 
>>> mágico
b'U\r'
>>> int.from_bytes(mágico, little)
3413

# python 3.8 b4

Vuelve a publicar si necesitas más ayuda. ¡Buena suerte!

¿debería actualizar mi versión de Python?

Chris Freeman
Chris Freeman
68,469 puntos

La respuesta es más complicada. Depende de saber por qué las versiones de Python y del archivo pyc difieren.

¿Cuál es tu configuración?

  • ¿qué sistema operativo estás usando?
  • ¿cómo invocas Python?
  • ¿qué devuelve python --version ?
  • ¿estás usando un entorno virtual?