[Python] problema di import con email generator

Daniele Varrazzo piro a develer.com
Sab 10 Nov 2012 12:52:31 CET


On 2012-11-10 09:35, Giovanni Porcari wrote:
> Stamattina mi sono trovato un errore che non riesco a spiegarmi.
>
> Python 2.7.2
>>>> import email
>
>>>> email.generator
> Traceback (most recent call last):
>   File "<stdin>", line 1, in <module>
> AttributeError: 'module' object has no attribute 'generator'
>
>
>>>> import email.generator as eg
>>>> dir (eg)
> ['DecodedGenerator', 'Generator', 'Header', 'NL', 'StringIO',
> 'UNDERSCORE', '_FMT', '__all__', '__builtins__', '__doc__',
> '__file__', '__name__', '__package__', '_fmt', '_is8bitstring',
> '_make_boundary', '_width', 'fcre', 'random', 're', 'sys', 'time',
> 'warnings']
>>>>
>
>
>
> Si tratta di un baco (magari noto) o c'è qualcosa che mi sfugge ?

Se generator non è importato esplicitamente da email/__init__.py è 
normale che "import email; email.generator" fallisca. Stai dicendo che 
in versioni precedenti funzionava e in 2.7.2 no? Questa potrebbe essere 
considerata una regressione. Ma se è stato sempre necessario importare 
email.generator, allora penso sia un modo di fare le cose normale. Un 
package non è tenuto a importare tutti i suoi sotto-moduli: potrebbe non 
essere desiderabile se per esempio qualcuno è lento da importare (tipo 
usa uuid) e non è necessario al resto del package.

-- 
Daniele Varrazzo - Develer S.r.l.
http://www.develer.com


Maggiori informazioni sulla lista Python