更新PIL库后遇到NotImplementedError: tostring() has been removed. Please call tobytes() instead

来源:互联网 发布:linux 拷贝文件 编辑:程序博客网 时间:2024/06/10 05:05

在调用python-openslide库时,一时脑抽,更新了scikit这个库

 sudo pip install --upgrade scikit-image
再运行就遇到
NotImplementedError: tostring() has been removed. Please call tobytes() instead这个问题,这应该是PIL这个库更新后,tostring被舍弃了,叫做tobytes了,

下面参考http://blog.csdn.net/meloyi/article/details/53463484

我们根据错误可以找到Image.py这里面的出错点

通过查找“tostring”,找到如下所示的代码:
这里写图片描述
改成如下所示:
这里写图片描述
然后重新运行代码。这篇博客里提到这些,但是python的库是不允许修改的,下面提供修改方法

先cd到site-packages这个文件夹

cd /usr/local/lib/python2.7/dist-packages/

然后修改PIL的权限

sudo chmod -R 777 PIL

然后就可以修改Image.py这个库了,修改完记得给PIL重新加上权限,防止以后不小心修改了库

sudo chmod -R 555 PIL
再运行应该就没有问题了

0 0