最近在看《21个项目玩转深度学习》,书里提供的源代码用到了scipy.misc.imresize()等函数,而1.3.0版本以后的scipy库中已经不再包含imread、imresize、toimage等函数。本文提供了基于python2.7的windows和CentOS系统下的两种解决办法,除了安装1.2.3版本的scipy库,还需要安装PIL。
-
windows系统python2.7的PIL库安装
系统配置:windows XP系统 | python版本2.7.17 | pip版本19.2.3 | numpy版本1.16.6 | scipy版本1.2.3
调用scipy.misc.imresize会报错:'module' object has no attribute 'imresize'
解决办法:
去http://www.pythonware.com/products/pil/下载PIL-1.1.7.win32-py2.7.exe,安装完成后即可
- CentOS系统python2.7的PIL库安装
在阿里云申请了一个GPU服务器,从镜像市场选择CentOS 7.3(预装NVIDIA GPU驱动和深度学习框架) V1.0生成实例
系统配置:CentOS7.3系统64bit | python版本2.7.5 | pip版本9.0.1 | numpy版本1.13.3 | scipy版本1.2.3
PIL安装方法:
下载PIL源码:
wget -c http://effbot.org/media/downloads/PIL-1.1.7.tar.gz
解压:
tar xvfz PIL-1.1.7.tar.gz
下载并解压成功之后,到解压目录,找到 setup.py 这个文件,修改下面几行代码(默认TCL_ROOT的设置为NONE,这里要传到系统库的路径才行):
TCL_ROOT = "/usr/lib64/"
JPEG_ROOT = "/usr/lib64/"
ZLIB_ROOT = "/usr/lib64/"
TIFF_ROOT = "/usr/lib64/"
FREETYPE_ROOT = "/usr/lib64/"
LCMS_ROOT = "/usr/lib64/"
再进行安装前的检查:
cd PIL-1.1.7/
python setup.py build_ext -i
可能会报错:
fatal error: Python.h: No such file or directory
error: command 'gcc' failed with exit status 1
解决办法,安装下面的库:
yum install python-devel
yum install -y freetype freetype-devel
yum install libjpeg libjpeg-devel
yum install python-imaging
还可以安装下面的库,但我安装的时候报错,而且并不影响使用:
sudo yum install libX11-devel
yum install zlib zlib-devel
yum install lcms lcms-devel
重新进行安装前的检查:
python setup.py build_ext -i
不再报错后,进行最后的安装:
python setup.py install
参考:
https://blog.youkuaiyun.com/qq_37138818/article/details/83306367
https://blog.youkuaiyun.com/weixin_34072857/article/details/91416348
https://blog.youkuaiyun.com/tengdazhang770960436/article/details/80196794
在1.3.0版本以后的scipy中移除了imread、imresize等函数,对于使用python2.7的windows和CentOS用户,可以通过安装1.2.3版scipy及PIL来解决。在windows上,可以直接下载PIL-1.1.7.win32-py2.7.exe安装。在CentOS上,需要下载PIL源码,修改setup.py文件,安装必要的系统库,如libpng、zlib,然后编译安装。
886





