因为要安装模块PIL,没想在执行pip安装时就提示需要更新pip install --upgrade pip,执行时仍报错pip版本信息的解决:本文地址:http://www.04007.cn/article/519.html,未经许可,不得转载.
You are using pip version 10.0.1, however version 18.0 is available. You should consider upgrading via the 'pip install --upgrade pip' command.网上说可以使用命令:sudo python -m pip install --upgrade pip 来解决,但我在执行的时候仍然提示上面的这个错误。我觉得这可能是因为我原来的pip安装是源码安装的关系,于是我还进行了源码安装:本文地址:http://www.04007.cn/article/519.html,未经许可,不得转载.
[onlinedev@BER-4419 pip-18.0]$ sudo wget https://files.pythonhosted.org/packages/69/81/52b68d0a4de760a2f1979b0931ba7889202f302072cc7a0d614211bc7579/pip-18.0.tar.gz sudo tar zxvf pip-18.0.tar.gz cd pip-18.0 sudo python setup.py install #安装成功 [onlinedev@BER-4419 pip-18.0]$ pip -V pip 18.0 from /opt/modules/python27/lib/python2.7/site-packages/pip-18.0-py2.7.egg/pip (python 2.7)二、关于python模块PIL的安装的问题本文地址:http://www.04007.cn/article/519.html,未经许可,不得转载.
图片处理需要安装常用的类库PIL,但在安装时遇到了问题,执行pip安装提示根本找不到PIL这个东西。本文地址:http://www.04007.cn/article/519.html,未经许可,不得转载.
[onlinedev@BER-4419 ~]$ sudo pip install PIL Collecting PIL Could not find a version that satisfies the requirement PIL (from versions: ) No matching distribution found for PIL pip install PIL --allow-external PIL --allow-unverified PIL找了找资料发现PIL已经过时了,现在使用Pillow,这个是PIL的fork版本。本文地址:http://www.04007.cn/article/519.html,未经许可,不得转载.
Use Pillow instead, as PIL is basically dead. Pillow is a maintained fork of PIL. https://pypi.python.org/pypi/Pillow/2.2.1 pip install Pillow If you have both Pythons installed and want to install this for Python3: python3 -m pip install Pillow但在执行的时候还是总是报错:本文地址:http://www.04007.cn/article/519.html,未经许可,不得转载.
[onlinedev@BER-4419 ~]$ sudo pip install Pillow File "/opt/modules/python27/lib/python2.7/contextlib.py", line 35, in __exit__ self.gen.throw(type, value, traceback) File "/opt/modules/python27/lib/python2.7/site-packages/pip-18.0-py2.7.egg/pip/_vendor/urllib3/response.py", line 336, in _error_catcher raise ReadTimeoutError(self._pool, None, 'Read timed out.') ReadTimeoutError: HTTPSConnectionPool(host='files.pythonhosted.org', port=443): Read timed out.网上有说安装PIL一定要要先把这些系统部件安装好,也试着安装了本文地址:http://www.04007.cn/article/519.html,未经许可,不得转载.
[onlinedev@BER-4419 ~]sudo yum install libjpeg libjpeg-devel zlib zlib-devel freetype freetype-devel lcms lcms-devel Downloading Packages: (1/2): lcms-1.19-1.el6.x86_64.rpm | 72 kB 00:00 (2/2): lcms-devel-1.19-1.el6.x86_64.rpm | 49 kB 00:00 --------------------------------------------------------------------------------------------------------------------------------------------- Total 494 kB/s | 121 kB 00:00 [onlinedev@BER-4419 ~]sudo yum install python-imaging但还是报错,从报错来看是内部某个https请求时超时,这个错误我觉得已无能为力了,说明不能再通过这个方式来安装。本文地址:http://www.04007.cn/article/519.html,未经许可,不得转载.
[onlinedev@BER-4419 ~]$ sudo wget http://effbot.org/downloads/Imaging-1.1.7.tar.gz sudo tar zxvf Imaging-1.1.7.tar.gz cd Imaging-1.1.7 sudo python setup.py install running install_egg_info Writing /opt/modules/python27/lib/python2.7/site-packages/PIL/PIL-1.1.7-py2.7.egg-info creating /opt/modules/python27/lib/python2.7/site-packages/PIL.pth从上面的提示可以看到,已成功安装PIL。不过在执行python程序的时候又碰到报错:本文地址:http://www.04007.cn/article/519.html,未经许可,不得转载.
raise ImportError("The _imagingft C module is not installed") ImportError: The _imagingft C module is not installed从提示来看,缺少_imagingft C module,于是手动安装了一个PIL库需要的freetype的库文件,手动安装了一下。再照着网上的方法把Imaging安装包里的setup.py里的代码修改了以下几行,再执行覆盖安装本文地址:http://www.04007.cn/article/519.html,未经许可,不得转载.
TCL_ROOT = "/usr/lib64/" JPEG_ROOT = "/usr/lib64/" ZLIB_ROOT = "/usr/lib64/" TIFF_ROOT = "/usr/lib64/" FREETYPE_ROOT = "/usr/lib64/" LCMS_ROOT = "/usr/lib64/"#再次执行安装,可以留意以下几行关于JPEG,ZLIB之类的提示,这里注意在执行python setup.py install前先执行一下: python setup.py build_ext -i本文地址:http://www.04007.cn/article/519.html,未经许可,不得转载.
[onlinedev@BER-4419 Imaging-1.1.7]$ sudo python setup.py build_ext -i [onlinedev@BER-4419 Imaging-1.1.7]$ sudo python setup.py install *** TKINTER support not available --- JPEG support available --- ZLIB (PNG/ZIP) support available --- FREETYPE2 support available --- LITTLECMS support available -------------------------------------------------------------------- ...... running install_egg_info Removing /opt/modules/python27/lib/python2.7/site-packages/PIL/PIL-1.1.7-py2.7.egg-info Writing /opt/modules/python27/lib/python2.7/site-packages/PIL/PIL-1.1.7-py2.7.egg-info creating /opt/modules/python27/lib/python2.7/site-packages/PIL.pth提示安装成功,但是在执行python代码还是报错,但是报的不一样了。本文地址:http://www.04007.cn/article/519.html,未经许可,不得转载.
raise IOError("encoder %s not available" % encoder_name) IOError: encoder jpeg not available到这里最后我尝试着改了改代码,如下我把jpg和jpeg处由jpg改成了gif, 如下为改前改后的代码。最后图片成功生成了。本文地址:http://www.04007.cn/article/519.html,未经许可,不得转载.
name = ans + '.jpg' ImageObj.save(name, 'jpeg') #修改后的代码: name = ans + '.gif' ImageObj.save(name, 'gif')留个凌乱的笔记吧,对于问题的解决,我觉得我安装过程中可能少了jpeg的模块,但gif成功支持了,先这样用着吧。本文地址:http://www.04007.cn/article/519.html,未经许可,不得转载.
本文地址:http://www.04007.cn/article/519.html 未经许可,不得转载. 手机访问本页请扫描右下方二维码.
![]() |
![]() |
手机扫码直接打开本页面 |