2015-01-28 29 views
26

Bir VIRTUALENV çalışan piton var 3.4.0 pip versiyonu adında bir modül ben pip e-posta yükleyip hatayı aldın 1.5.4 pip geçerli: süreç (ki başarısız) sonundaki 'cStringIO' adında hiçbir modül bir piton için e-posta paketi almak nasıldır 3.4.0 Python 3.0 değişmek itibarenpiton: ImportError: ImportError: 'cStringIO'

+1

o io.StringIO yerine kullanılması gerektiğini görülebilir Python 3 e-posta belgelerine

The StringIO and cStringIO modules are gone. Instead, import the io module and use io.StringIO or io.BytesIO for text and data respectively.

. Bir modül olarak mevcut olduğundan "e-posta" yüklemeyi denememeliydim. Bu yüzden e-postaları sadece kod içine alın ve gerektiğinde uygulama kodunda değişiklik yapın. Python ortamımda – jvi

cevap

43

;

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() 

Referans: kabul @SimonVissers çözümü thx- https://docs.python.org/3.4/library/io.html

+1

io modülü var. ama kendi sorunum olan e-postayı kendim yükleyemiyorum. yani "pip install email" başarısız olur. Bazı kodları hacklemem ve yüklenmesi için değişiklik yapmam gerekiyor mu? – jvi

+4

@jvi: 'e-posta'yı kurmamalısınız, sadece 'e-posta' almalı ve Python standart kütüphanesinin bir parçası olmalıdır. –