網上的東西真坑人啊
在知乎里看到的最有意思的python項目,於是選了一個qrcode二維碼的項目來自己嘗試
github里下載到pycharm之后就開始了踩坑之路。
先說安裝pillow
升級pip到19.2.3版本之后,安裝pillow(pip install pillow)
之后嘗試導入 import Pillow / import pillow / import PIL
死活沒有,我很納悶。卸了重裝都沒效果依舊導入失敗。
然后手動查找到底有沒有,於是打開site-package。
大爺的
竟然是pil
於是 import pil
成功了!花了我半天時間出坑了
接下來是另一個坑
PIL.Image.new
報錯type object 'Image' has no attribute 'new',說明沒有Image下new這個方法,引用open也是同樣的報錯
我又開始納悶,
再次上網搜,無果!網上都說的風馬牛不相及,好像沒人遇到我這種坑。
於是靠自己,深入虎穴一探究竟,打開了Image.py,好長的文件,第一個就是Class Image:類,這個里面竟然沒有def new(),難怪沒辦法引用,納悶呢。。。忽然發現文件靠下位置有def new()
這下我明白了
這貨沒在類里所以無法調用,正確的寫法應該是
class Image:
def new()
.......
於是我把def new():復制到類下面
再引用就有了,這坑又花了半天,my god
反過來看就明白了好多,當from PIL.Image import Image 這里是導入的class Image類
然而 Image.new無法引用,說明了類下面沒有'定義new
所以,文件名與類名最好不要重復,否則又是坑。