1

在 web2py 中工作,使用 python 2.7,我有这样的事情发生:

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

关于这里发生了什么的任何想法?谢谢。

4

1 回答 1

1

img_buffer您必须在写入之后和读取之前倒回。

pylab.savefig(img_buffer, format = 'png')
img_buffer.seek(0)
Image.open(img_buffer)
于 2013-07-08T17:20:26.380 回答