使用python 2.7在web2py中工作,我有类似的事情:
import matplotlib
matplotlib.use('Agg')
import pylab
import Image
import io
temp_data = {'x':[1,2,3],'y':[2,4,5]}
pylab.plot(temp_data['x'], temp_data['y'])
img_buffer = io.BytesIO()
pylab.savefig(img_buffer, format = 'png')
Image.open(img_buffer)
这引发了
IOError - “无法识别图像文件”
在我的服务器的python安装(没有web2py)上尝试这个会产生相同的错误。在我的工作站的python shell上尝试这个(显然,Image模块与pylab冲突):
AccessInit: hash collision 3: for both 1 and 1
关于这里发生了什么的任何想法?感谢。
答案 0 :(得分:1)
您必须在写入img_buffer
之后并在阅读之前回放。{/ p>
pylab.savefig(img_buffer, format = 'png')
img_buffer.seek(0)
Image.open(img_buffer)