Foros del Web » Programando para Internet » Python »

duda con smtplib

Estas en el tema de duda con smtplib en el foro de Python en Foros del Web. Hola lista. Tengo una duda. En mi equipo tengo instalado python 2.6 sobre mi ubuntu y tengo un simple script: Código PHP: #!/usr/bin/env python # -*- coding: utf-8 -*-import smtplib import smtplib  ...
  #1 (permalink)  
Antiguo 27/01/2011, 12:46
 
Fecha de Ingreso: agosto-2008
Mensajes: 198
Antigüedad: 16 años, 3 meses
Puntos: 27
duda con smtplib

Hola lista. Tengo una duda. En mi equipo tengo instalado python 2.6 sobre mi ubuntu y tengo un simple script:
Código PHP:
#!/usr/bin/env python
# -*- coding: utf-8 -*-import smtplib
import smtplib 
y me arroja un error, solo con eso

File "./email.py", line 3, in <module>
import smtplib
File "/usr/lib/python2.6/smtplib.py", line 46, in <module>
import email.utils
ImportError: No module named utils

No se que puedo estar haciendo mal. Googleando he visto a otras personas con el mismo problema, pero nada soluciona mi situación. Espero puedan ayudarme.

La libreria email no puedo encontrarla.
Saludos.
  #2 (permalink)  
Antiguo 27/01/2011, 13:29
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: duda con smtplib

Lo extraño es que el error está en smtplib, lo cual es improbable (se supone que se envía y se instala usable, por lo que no debería tener errores como ese).

Pero viendo el nombre de tu archivo, me suena a una dependencia circular. Esto es: email.py importa smtplib, smtplib intenta importar un módulo de nombre email. Como probablemente tu sys.path esté configurado para buscar módulos primero en la carpeta actual, seguramente esté usando tu archivo email.py como módulo. El resultado es que smtplib intenta cargar tu archivo email, que obviamente no contiene un módulo utils dentro.

Si mi teoría es correcta, para solucionar el error bastaría cambiar el nombre a tu archivo, de email.py a cualquier otra cosa. Probá y contá el resultado.


Saludos.
  #3 (permalink)  
Antiguo 27/01/2011, 13:48
 
Fecha de Ingreso: agosto-2008
Mensajes: 198
Antigüedad: 16 años, 3 meses
Puntos: 27
Respuesta: duda con smtplib

no, ese no es el problema.
la libreria smptlib en su comienzo tiene esto:
Código PHP:
import socket
import re
import email
.utils<--------problema
import base64
import hmac
from email
.base64mime import encode as encode_base64 <----problema
from sys import stderr 
haciendo un ls sobre "/usr/lib/python2.6" veo:
-rwxr-xr-x 1 root root ..... smtplib.py
drwxr-xr-x 3 root root .... email

Ahí está el directorio email, y en este directorio si aparecen los archivos necesitados:
-rw-r--r-- 1 root root .... utils.py
-rw-r--r-- 1 root root ..... base64mime.py


realmente no se que será lo que pasa.
  #4 (permalink)  
Antiguo 27/01/2011, 14:25
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 8 meses
Puntos: 1360
Respuesta: duda con smtplib

Parecen tener el mismo problema aqui
  #5 (permalink)  
Antiguo 27/01/2011, 14:28
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: duda con smtplib

Disculpa que insista, pero ¿lo probaste? porque busqué el problema y el primer resultado dice basicamente lo mismo que te escribí antes (http://bugs.python.org/issue2410)

razpeitia, ese problema parece ser específico de Ubuntu, según el reporte del bug. Además parece culpa de los programadores de labyrinth (lo que sea que eso sea), si el paquete está instalado correctamente, ¿por qué modificar el sys.path de esa forma? Parece algo tonto.
Dudo que smtplib tenga el mismo error.

Última edición por AlvaroG; 27/01/2011 a las 14:33
  #6 (permalink)  
Antiguo 27/01/2011, 15:16
 
Fecha de Ingreso: agosto-2008
Mensajes: 198
Antigüedad: 16 años, 3 meses
Puntos: 27
Respuesta: duda con smtplib

Cita:
Iniciado por AlvaroG Ver Mensaje
Disculpa que insista, pero ¿lo probaste? porque busqué el problema y el primer resultado dice basicamente lo mismo que te escribí antes (http://bugs.python.org/issue2410)
Yo estoy creando un script con el nombre email.py. Si mal no entendí, lo que me dices es que, por alguna extraña razón este nombre de archivo puede producir problemas. Bueno, yo lo renombré a jaja.py y sigue el problema. Probé también renombrar el directorio "email" de python y cambiar las rutas en smtplib.py y tampoco.

P.D.: Se me olvidó mencionarlo antes. Si abro la consola de Python e importo el archivo funciona, sin embargo al hacerlo en un script falla.
  #7 (permalink)  
Antiguo 27/01/2011, 15:18
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 8 meses
Puntos: 1360
Respuesta: duda con smtplib

Acabo de reproducir el mismo error.
Código:
#email.py
import smtplib
Error conseguido:
Código:
Traceback (most recent call last):
  File "email.py", line 1, in <module>
    import smtplib
  File "/usr/lib/python2.5/smtplib.py", line 46, in <module>
    import email.Utils
ImportError: No module named Utils
Solo cambia el nombre de tu archivo o modulo.
  #8 (permalink)  
Antiguo 27/01/2011, 16:36
 
Fecha de Ingreso: agosto-2008
Mensajes: 198
Antigüedad: 16 años, 3 meses
Puntos: 27
Respuesta: duda con smtplib

No logro comprender. Le cambio el nombre, pero aún así sigue el problema.
  #9 (permalink)  
Antiguo 27/01/2011, 17:38
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: duda con smtplib

No es "una extraña razón" sino la forma en la que python busca los módulos que se le pide importar (primero prueba si hay alguno en la carpeta actual)

De casualidad no le habrás cambiado el nombre a tu archivo y además a la carpeta, ¿verdad? No hay necesidad de tocar nada de lo que está en /usr/lib/python2.6

No sé, ciertamente parece un conflicto de nombres. Además, si funciona desde la consola de Python quiere decir que no es un error de smtplib.

¿hay alguna otra cosa (archivo, carpeta) que se llame "email"?

Yo probaría ver las diferencias entre ejecutar este bloque de código en la consola de Python y en la carpeta que te da problemas:

Código Python:
Ver original
  1. import sys
  2. print sys.path
  3. import smtplib


Saludos.
  #10 (permalink)  
Antiguo 27/01/2011, 17:55
 
Fecha de Ingreso: agosto-2008
Mensajes: 198
Antigüedad: 16 años, 3 meses
Puntos: 27
Respuesta: duda con smtplib

Gracias, ahora si corre, lo coloque en otro directorio y funcionó. En el directorio anterior no tenía nada con el nombre email, pero aún así fallaba. Saludos.

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:46.