Django restフレームワークをpip install djangorestframework
を使用してインストールしましたが、「python3 manage.py sycndb」を実行するとこのエラーが発生します。
ImportError:「rest_framework」というモジュールはありません
私はpython3を使用していますが、これは私の問題ですか?
Pip3を使用してDjango restフレームワークをインストールする必要があります(python 3のpip):
pip3 install djangorestframework
Pip3のインストール方法に関する説明は here にあります。
,
を忘れると、これが起こります。
間違った例:,
が必要
INSTALLED_APPS = [
'rest_framework'
'Django.contrib.contenttypes',
'Django.contrib.admin',
'Django.contrib.auth',
'Django.contrib.sessions',
'Django.contrib.messages',
'Django.contrib.staticfiles',
]
たぶん、DRFをインストールするのはpython3ではなくpython2用です。
python console
を使用して、モジュールを確認できます。
import rest_framework
実際にpip
を使用してモジュールをインストールすると、python2モジュールがインストールされます。
Python3のpipをインストールする必要があります。
Sudo apt-get install python3-setuptools
Sudo easy_install3 pip
そのため、python3モジュールをインストールできます。
また、小さなtypoの可能性を確認します。
rest_framework
で、アンダースコア(_
)が間にあります!
代わりにdashを使用していたことを理解するためにしばらく時間がかかりました... ????
Django-rest-frameworkをグローバルにインストールせずにvirtualenv
のような仮想環境を使用すると、同様にエラーが発生する可能性があります。解決策は次のとおりです。
linuxの場合は{{your environment name}}/bin/activate
、Windowsの場合は{{your environment name}}/Scripts/activate
で最初に環境をアクティブ化します
その後、コマンドを再度実行します。
PyCharmで作業している場合、プログラムに「rest_framework」を追加した後にプログラムを再起動し、すべてのプロンプトを閉じると、INSTALLED_APPS
が機能することがわかりました。
pipenvを使用した場合:
新しいpipenvを使用してrest_frameworkをインストールした場合、仮想環境を介して実行する必要があります。
1 .pipenv Shell
2.(env)今、コマンドを実行します(たとえば、python manage.py runserver)
何らかの仮想環境を使用している場合は、これを行ってください!
仮想環境を終了します。
仮想環境をアクティブにします。
これが完了したら、コマンドを再度実行してみてください。今回はおそらくImportErrorsが発生しないでしょう。
jWT pip install djangorestframework-jwt
を使用している場合はこれを試してください
最初にフレームワークをシステムにグローバルにインストールすると、問題が解決しました。
machine@debian:/$ Sudo pip install djangorestframework
or;
root@debian:/# pip install djangorestframework