2017-10-20 20 views
0

Je suis nouveau sur Django. J'utilise la version 1.11.6 dans une boîte vagabonde avec ubuntuDjango AttributeError: le module 'PIL.Image' n'a pas d'attribut 'init'

J'ai ajouté un champ ImageField à l'un de mes modèles. Tout fonctionnait bien. Aujourd'hui (après le redémarrage) le même code jette cette erreur (chaque fois que je l'appelle 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' 

L'exception jeté dans la validators.py de 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()] 

J'ai installé Pillow comme doc dit

sudo pip3 install Pillow 

Dans la console python3, je peux importer l'image de PIL correctement, mais il n'a pas la méthode init(). Que devrais-je faire?

Merci

+0

Dans le shell, quelle est la sortie de 'dir (Image)' après avoir importé 'Image' de' PIL'? – solarissmoke

Répondre

1

Eh bien, ce n'est pas la meilleure réponse, mais je désinstallés oreiller, réinstallées à nouveau, tout effacer dans le dossier __pycache__ et maintenant il fonctionne.