python 3.4.0 e-mail package install: ImportError: aucun module nommé 'cStringIO'

j'ai un virtualenv sous python 3.4.0 la version pip est pip 1.5.4 J'ai fait pip installer e-mail et obtenir l'erreur: ImportError: pas de module nommé "cStringIO" à la fin du processus (qui a échoué) Comment obtenir le logiciel de courriel pour python 3.4.0

33
demandé sur jvi 2015-01-28 22:05:36

2 réponses

à Partir de Python 3.0 changelog;

les modules StringIO et cStringIO ont disparu. À la place, importez le module io et utilisez io.StringIO ou io.BytesIO pour le texte et les données respectivement.

à partir de la documentation d'email de Python 3 Il peut être vu que io.StringIO doit être utilisé à la place:

from io import StringIO
from email.generator import Generator
fp = StringIO()
g = Generator(fp, mangle_from_=True, maxheaderlen=60)
g.flatten(msg)
text = fp.getvalue()

Référence: https://docs.python.org/3.4/library/io.html

58
répondu Simeon Visser 2016-03-22 17:07:48

j'ai eu le même problème, parce que mon dossier a été appelé email.py. J'ai renommé le fichier et le problème a disparu.

1
répondu Maeda 2018-04-26 01:31:36