Lorsque vous essayez d'exécuter runserver
ou Shell
à l'aide de manage.py
J'obtiens une exception ImportError
. J'utilise Django 1.9.
ImportError: No module named 'Django.utils.importlib'
Django.utils.importlib
Est une bibliothèque de compatibilité lorsque Python 2.6 était toujours pris en charge. Il est obsolète depuis Django 1.7, qui a supprimé la prise en charge de Python 2.6, et est supprimé en 1.9 par cycle de dépréciation.
Utilisez plutôt la fonction import_module
De Python:
from importlib import import_module
La raison pour laquelle vous pouvez l'importer depuis Django.utils.module_loading
Est que importlib.import_module
Est importé dans ce module, c'est pas parce que module_loading
Définit de quelque manière que ce soit le une fonction.
Étant donné que Django.utils.module_loading.import_module
Ne fait pas partie de l'API publique, il peut être supprimé à tout moment s'il n'est plus utilisé - même dans une mise à niveau de version mineure.
J'ai résolu cela avec ce qui suit:
try:
# Django versions >= 1.9
from Django.utils.module_loading import import_module
except ImportError:
# Django versions < 1.9
from Django.utils.importlib import import_module