python - Django 1.9 ImportError para import_module
django-1.9 (2)
Lo resolví con lo siguiente:
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
Cuando intento ejecutar runserver
o shell
usando manage.py
, obtengo una excepción ImportError
. Estoy usando Django 1.9.
ImportError: No module named ''django.utils.importlib''
django.utils.importlib
es una biblioteca de compatibilidad para cuando aún se admite Python 2.6. Ha quedado obsoleto desde Django 1.7, que dejó de admitir Python 2.6 y se elimina en 1.9 por ciclo de desactivación.
Utilice la función import_module
de Python en import_module
lugar:
from importlib import import_module
La razón por la que puede importar desde django.utils.module_loading
es que importlib.import_module
se importa en ese módulo, no es porque module_loading
de ninguna manera define la función real.
Como django.utils.module_loading.import_module
no es parte de la API pública, se puede eliminar en cualquier momento si ya no se usa, incluso en una actualización menor de la versión.