首页 > 解决方案 > Django REST Framework - Django 在`pip3 list` 中大写

问题描述

我在教程中使用 Django REST Framework 构建 API。ModuleNotFoundError: No module named 'django'当我尝试测试时出现错误python3 manage.py。我一直在处理可能存在的一长串问题(重新安装 django,需要__init__.py在根目录中添加一个等),有人建议使用pip3 list.

这是我看到的:

Package             Version
------------------- -------
asgiref             3.3.1
dj-database-url     0.5.0
Django              3.1.4
django-filter       2.4.0
django-heroku       0.3.1
djangorestframework 3.12.2
gunicorn            20.0.4

Django的大写是有原因的吗?这可能是它没有找到它的原因manage.py吗?如果是这样,我该如何解决它?

这是我收到的完整错误消息,但它确实很笼统。异常是硬编码的:

Traceback (most recent call last):
  File "manage.py", line 11, in main
    from django.core.management import execute_from_command_line
ModuleNotFoundError: No module named 'django'

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "manage.py", line 22, in <module>
    main()
  File "manage.py", line 17, in main
    ) from exc
ImportError: Couldn't import Django. Are you sure it's installed and available on your PYTHONPATH environment variable? Did you forget to activate a virtual environment?

标签: pythondjangomodulepip

解决方案


在像 Django 一样使用大型框架时,必须始终在virtual environment. 请检查您是否已激活虚拟环境。如果没有,请按照以下步骤操作:

  1. cd your_working_directory
  2. virtualenv environment_name哪里environment_name可以是你想要的任何名字。
  3. environment_name/Scripts/activate如果打开Windows

或者environment_name/bin/activate如果在MacOS

然后在激活环境后,您可以使用 pip 安装所有依赖项。IEpip install django


推荐阅读