runserver
またはshell
のいずれかをmanage.py
を使用して実行しようとすると、ImportError
の例外が発生します。私はDjango 1.9を使用しています。Django 1.9 ImportError for import_module
ImportError: No module named 'django.utils.importlib'
runserver
またはshell
のいずれかをmanage.py
を使用して実行しようとすると、ImportError
の例外が発生します。私はDjango 1.9を使用しています。Django 1.9 ImportError for import_module
ImportError: No module named 'django.utils.importlib'
django.utils.importlib
は、Python 2.6はまだサポートされていたときのための互換性ライブラリです。これはDjango 1.7以降では廃止されました。これはPython 2.6のサポートを中止し、廃止予定サイクルあたり1.9で削除されています。
使用Pythonの代わりにimport_module
機能:どのような方法でmodule_loading
は、実際の関数を定義しますので、あなたがdjango.utils.module_loading
からそれをインポートすることができ
from importlib import import_module
理由はimportlib.import_module
は、そのモジュールにインポートされていることで、それはないです。
django.utils.module_loading.import_module
はパブリックAPIの一部ではないため、マイナーバージョンのアップグレードであっても使用されなくなった場合はいつでも削除できます。
ありがとう、私は 'importlib'が組み込みモジュールであることは決して実現しませんでした!私は次の時間を深く掘り下げるべき良いレッスンです。 – Matt
私は次のようでこれを解決:
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
Django 1.9はアルファステータスに達したばかりであり、プロダクションでは使用できません。非常に良い理由がない限り、1.8を使用してください。 –
ダニエルありがとうございます。私は現時点では地元の開発でしか実行していませんが、Djangoチームが安定したリリースを取り戻す問題を追跡するのに役立ちます。 – Matt
Django 1.9がリリースされました。 – tutuca