ModuleNotFoundError: No module named 'rest_framework' I already installed djangorestframework
I got an error,ModuleNotFoundError: No module named 'rest_framework' when I run command python manage.py runserver
.
Traceback says
Unhandled exception in thread started by <function check_errors.<locals>.wrapper at 0x108193ae8>
Traceback (most recent call last):
File "/Users/xxx/anaconda/envs/env/lib/python3.6/site-packages/django/utils/autoreload.py", line 226, in wrapper
fn(*args, **kwargs)
File "/Users/xxx/anaconda/envs/env/lib/python3.6/site-packages/django/core/management/commands/runserver.py", line 113, in inner_run
autoreload.raise_last_exception()
File "/Users/xxx/anaconda/envs/env/lib/python3.6/site-packages/django/utils/autoreload.py", line 249, in raise_last_exception
six.reraise(*_exception)
File "/Users/xxx/anaconda/envs/env/lib/python3.6/site-packages/django/utils/six.py", line 685, in reraise
raise value.with_traceback(tb)
File "/Users/xxx/anaconda/envs/env/lib/python3.6/site-packages/django/utils/autoreload.py", line 226, in wrapper
fn(*args, **kwargs)
File "/Users/xxx/anaconda/envs/env/lib/python3.6/site-packages/django/__init__.py", line 27, in setup
apps.populate(settings.INSTALLED_APPS)
File "/Users/xxx/anaconda/envs/env/lib/python3.6/site-packages/django/apps/registry.py", line 85, in populate
app_config = AppConfig.create(entry)
File "/Users/xxx/anaconda/envs/env/lib/python3.6/site-packages/django/apps/config.py", line 116, in create
mod = import_module(mod_path)
File "/Users/xxx/anaconda/envs/env/lib/python3.6/importlib/__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 978, in _gcd_import
File "<frozen importlib._bootstrap>", line 961, in _find_and_load
File "<frozen importlib._bootstrap>", line 948, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'rest_framework'
I already run command pip3 install djangorestframework
,when I run this command again, Requirement already satisfied: djangorestframework in /usr/local/lib/python3.6/site-packages shows in terminal.Python version is 3.6.2.What is wrong in my code?How should I fix this?I use Anaconda virtual environment.
Solution 1:
It looks as if pip3 install
has installed the package into /usr/local/lib/python3.6/site-packages
, instead of your environment /Users/xxx/anaconda/envs/env/lib/python3.6/site-packages
.
If you use python -m pip
, then the package will be installed in the same version of python that you use when you run python manage.py runserver
. This is the suggested command in the Python docs.
python -m pip install djangorestframework
Solution 2:
Did you add rest_framework in your setup?
INSTALLED_APPS = [
'rest_framework',
'django.contrib.contenttypes',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
]
May be this post will help you. Have a look.
Solution 3:
(depending on the version of python you are)
pip/pip3 install djangorestframework
This solved it for me.
Solution 4:
First thing you need to check your project interpreter: if you are using Pycharm: you go to Pycharm -> preferences/settings -> project interpreter and check if it's there among other installed libraries?
if it's not you need to add it manually. To do so there is + button where you can add a new package, search for "djangorestframework" and download it. restart the server and you are good to go