详解python3安装pillow后报错没有pillow模块以及没有PIL模块问题解决

yipeiwu_com6年前Python基础

也许自己真的就是有手残的毛病,你说好端端的环境配置好了,自己还在那里瞎鼓捣,我最不想看到的就是在安装一个别的模块的时候,自动卸载了本地的其他模块,每每这个时候,满满的崩溃啊,今天就是一个鲜活的例子。

我们都知道由于2和3版本的差异,2中的PIL模块可以直接安装和导入使用,3中需要安装的实际是Pillow模块,导入的却是PIL模块,我在安装别的模块的时候居然自动地把我本机安装好的Pillow模块卸载了,导致我后面使用的时候一直报错,想着直接再安装一下就行了,却发现事情真的是一团糟。

python -m pip install Pillow

提醒我本地环境已经满足了,但是我实际导入使用的时候却是没有的,无奈只好执行卸载操作:

python -m pip uninstall Pillow

卸载的时候提醒不存在这个包,我也是真的醉了的

没有办法,我只好手动删除了指定的目录,然后再次执行安装命令,提醒安装成功了。

原以为,尴尬的事情就到这里就结束了,却没有想到,安装是成功了,但是导入的时候却一直报错没有这样的模块,不管是导入Pillow还是PIL都是不存在,几经周折和尝试最终定位问题是在下面的几个文件:

我拷贝过来这三个文件重新卸载了Pillow后又安装了一下就可以了。

在导入的时候再次报错了,这次我去site-packages里面去排查问题,发现了一个奇葩的现象,居然新安装的PIL模块文件目录名为:pil,居然是小写的,哎,真的是醉了啊,改成大写的之后直接导入:

这一刻终于感觉很酸爽的啊,之后赶紧拿之前的程序跑一跑压压惊,主要是想确定真的是没问题....

直到这一刻,终于可以歇会了。

以上所述是小编给大家介绍的python3安装pillow后报错没有pillow模块以及没有PIL模块问题解决详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对【听图阁-专注于Python设计】网站的支持!

相关文章

python 输出列表元素实例(以空格/逗号为分隔符)

给定list,如何以空格/逗号等符号以分隔符输出呢? 一般的,简单的for循环可以打印出list的内容: l=[1,2,3,4] for i in l: print(i) 输出结...

在Python的struct模块中进行数据格式转换的方法

在Python的struct模块中进行数据格式转换的方法

Python是一门非常简洁的语言,对于数据类型的表示,不像其他语言预定义了许多类型(如:在C#中,光整型就定义了8种),它只定义了六种基本类型:字符串,整数,浮点数,元组,列表,字典。通...

Python字典中的键映射多个值的方法(列表或者集合)

一个字典就是一个键对应一个单值的映射。如果你想要一个键映射多个值,那么你就需要将这多个值放到另外的容器中, 比如列表或者集合里面。比如,你可以像下面这样构造这样的字典: d = {...

对于Python深浅拷贝的理解

对于Python深浅拷贝的理解

1,浅拷贝是什么? 浅拷贝是对于一个对象的顶层拷贝,通俗的理解是:拷贝了引用,并没有拷贝内容 通过a=b这种方式赋值只是赋值的引用(内存地址),a和b都指向了同一个内存空间,所...

讲解Python中的递归函数

在函数内部,可以调用其他函数。如果一个函数在内部调用自身本身,这个函数就是递归函数。 举个例子,我们来计算阶乘n! = 1 x 2 x 3 x ... x n,用函数fact(n)表示,...