python django django-1.9

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.