Django AttributeError:模块'PIL.Image'没有'init'属性

问题描述:

我是Django的新手。我在ubuntu使用的版本是1.11.6 in vagrant boxDjango AttributeError:模块'PIL.Image'没有'init'属性

我添加了一个ImageField到我的一个模型。一切工作正常。今天(后重新启动)相同的代码引发此错误(每当我打电话manage.py):

`Traceback (most recent call last): 
    File "manage.py", line 8, in <module> 
    from django.core.management import execute_from_command_line 
    File "/usr/local/lib/python3.5/dist-packages/django/core/management/__init__.py", line 13, in <module> 
    from django.core.management.base import (
... more files in /usr/local/lib/python3.5/dist-packages/.. 
    from django.core import validators 
    File "/usr/local/lib/python3.5/dist-packages/django/core/validators.py", line 507, in <module> 
    allowed_extensions=get_available_image_extensions(), 
    File "/usr/local/lib/python3.5/dist-packages/django/core/validators.py", line 502, in get_available_image_extensions 
    Image.init() 
AttributeError: module 'PIL.Image' has no attribute 'init' 

我装枕头作为doc从Django的

def get_available_image_extensions(): 
    try: 
     from PIL import Image 
    except ImportError: 
     return [] 
    else: 
     Image.init() 
     return [ext.lower()[1:] for ext in Image.EXTENSION.keys()] 

在validators.py引发的异常说

sudo pip3 install Pillow 

在python3控制台,我可以从PIL正确导入图像,但它没有init()方法。我该怎么办?

感谢

+0

在shell中,从'PIL'导入'Image'后'dir(Image)'的输出是什么? – solarissmoke

嗯,这是不是最好的答案,但我卸载了枕头,再重新安装它,请删除__pycache__夹中的一切,现在,它的工作原理。