ModuleNotFoundError: No module named 'rest_framework' 我已经安装了 djangorestframework

新手上路,请多包涵

我收到一个错误,ModuleNotFoundError: No module named ‘rest_framework’ when I run command python manage.py runserver 。回溯说

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'

我已经运行命令 pip3 install djangorestframework ,当我再次运行这个命令时,要求已经满足:/usr/local/lib/python3.6/site-packages 中的 djangorestframework 显示在终端中。Python 版本是 3.6.2。我的代码有什么问题?我应该如何解决这个问题?我使用 Anaconda 虚拟环境。

原文由 user7676799 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.3k
2 个回答

您是否在设置中添加了 rest_framework?

 INSTALLED_APPS = [
'rest_framework',
'django.contrib.contenttypes',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
]

也许这篇 文章 会对你有所帮助。看一看。

原文由 Abhijit 发布,翻译遵循 CC BY-SA 3.0 许可协议

看起来好像 pip3 install 已经将包安装到 /usr/local/lib/python3.6/site-packages ,而不是你的环境 /Users/xxx/anaconda/envs/env/lib/python3.6/site-packages

如果您使用 python -m pip ,那么该包将安装在您运行 python manage.py runserver 时使用的同一版本的 python 中。这是 Python 文档 中建议的命令。

 python -m pip install djangorestframework

原文由 Alasdair 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题