manage.py
を使用してrunserver
またはShell
を実行しようとすると、ImportError
例外が発生します。私はDjango 1.9。
ImportError: No module named 'Django.utils.importlib'
_Django.utils.importlib
_は、Python 2.6がまだサポートされていた場合の互換性ライブラリです。 Django 1.7から廃止され、Python 2.6のサポートが廃止され、非推奨サイクルごとに1.9で削除されました。
代わりにPythonの_import_module
_関数を使用します。
_from importlib import import_module
_
_Django.utils.module_loading
_からインポートできる理由は、そのモジュールに_importlib.import_module
_がインポートされているためです。実際には、_module_loading
_が実際の関数を定義しているため、notです。
_Django.utils.module_loading.import_module
_はパブリックAPIの一部ではないため、使用されなくなった場合は、いつでも削除できます(マイナーバージョンアップグレードでも)。
これを次の方法で解決しました。
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