2015-01-28 18 views
26

Tôi có một con chạy ảo virtualenv 3.4.0 pip phiên bản là pip 1.5.4 Tôi đã cài đặt pip email và nhận được lỗi: NhậpError: Không có mô-đun nào có tên 'cStringIO' ở cuối quá trình (không thành công) Làm cách nào để có được gói email cho python 3.4.0python 3.4.0 gói email cài đặt: ImportError: Không có mô-đun tên 'cStringIO'

+1

thx- chấp nhận giải pháp @SimonVissers. Tôi không nên cố gắng để cài đặt "email" nó vì nó có sẵn như là một mô-đun. vì vậy chỉ cần nhập email vào mã và thực hiện các thay đổi đối với mã ứng dụng nếu cần. – jvi

Trả lời

43

Từ Python 3.0 changelog;

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

Từ các tài liệu email Python 3 có thể thấy rằng io.StringIO nên được sử dụng thay vì:

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

tham khảo: https://docs.python.org/3.4/library/io.html

+1

mô-đun io tồn tại trong môi trường python của tôi. nhưng tôi không thể cài đặt email chính là vấn đề của tôi. nghĩa là "pip install email" không thành công. Tôi có nên hack vào một số mã và thực hiện thay đổi cho nó để cài đặt? – jvi

+4

@jvi: Bạn không nên cài đặt 'email', bạn chỉ nên' nhập email' vì nó là một phần của thư viện chuẩn Python. –

Các vấn đề liên quan