ImportError: Couldn't import Django ... Did you forget to activate a virtual environment?

ImportError: Couldn't import Django ... Did you forget to activate a virtual environment?

我知道有几个 questions/answers 关于这个,但我不知道我应该做什么。 我想开始使用 Django 并使用 pip install 安装它,并将 Python37 和 Python37-32 添加到我的环境变量中,我想它起作用了,因为我可以 运行我的 shell 中有几个 Python 命令。 但每次我尝试

    python manage.py runserver

它给我一个错误。

我也设置了我的虚拟环境并激活了它,但我认为 Django 有问题。但是因为我用 pip install django 安装它,我知道它在那里,我可以使用像 django-admin startapp 这样的命令......所以我猜 Django 正在工作。我真的不知道 PYTHONPATH 是什么意思以及在哪里可以找到它。如果有人能看看我的错误,那就太好了。

在这里你可以看到 Django 已经安装好了: #

**C:\Users\Kampet\Desktop\Python-Django\mysite>pip install django Requirement already satisfied: django in c:\users\kampet\appdata\local\programs\ python\python37-32\lib\site-packages (2.2.4) Requirement already satisfied: pytz in c:\users\kampet\appdata\local\programs\py thon\python37-32\lib\site-packages (from django) (2019.2) Requirement already satisfied: sqlparse in c:\users\kampet\appdata\local\program s\python\python37-32\lib\site-packages (from django) (0.3.0)**

# And thats my error
**C:\Users\Kampet\Desktop\Python-Django\mysite>python manage.py runserver
Traceback (most recent call last):
  File "manage.py", line 10, 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 21, in <module>
    main()
  File "manage.py", line 16, in main
    ) from exc
ImportError: Couldn't import Django. Are you sure it's installed and available o
n your PYTHONPATH environment variable? Did you forget to activate a virtual env
ironment?**
###################

这是我的虚拟环境所在的位置。

Python-Django

----------------我的网站

------------------------主要

------------------------我的网站

------------------------manage.py

----------------venv

------------------------包括

------------------------库

------------------------脚本

------------------------pyvenv.cfg

这是我的 manage.py:

#!/usr/bin/env python
"""Django's command-line utility for administrative tasks."""
import os
import sys


def main():
    os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'mysite.settings')
    try:
        from django.core.management import execute_from_command_line
    except ImportError as exc:
        raise 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?"
        ) from exc
    execute_from_command_line(sys.argv)


if __name__ == '__main__':
    main()

#

不知道为什么找不到模块"django" / django.core.management 我也找不到 django.core.management 在我的文件中的任何地方,但我重新安装和升级了 django 几次。我不知道这是否对你有帮助。

感谢您的宝贵时间。

在Windows机器上,你应该通过这个命令激活venv.\venv\Scripts\activate(请注意,你应该在这个venv所在的文件夹中)

然后在里面激活 venv install Django pip install django 和在同一个终端 运行 服务器 python manage.py runserver

我遇到了类似的问题:

  • django 全局安装
  • 虚拟环境设置和激活
  • venv 下的 django 项目设置已激活

尝试 运行 项目时,无论如何都无法导入 django。

在变量中添加 manage.py 的路径没有帮助,但如上所述,在 venv 激活下安装 django 实际上解决了问题。

您的情况可能有所不同,但请尝试以下场景:

  1. 设置 venv
  2. 激活 venv
  3. 安装 django
  4. 创建 django 项目
  5. 尝试运行 django proj

在 anaconda 提示符下尝试 运行 它,而不是 cmd,这对我有用

我在 windows 10 系统中遇到了类似的问题,并使用 pipenv 解决了。使用下面给出的命令的步骤。

  1. cd/Go到项目文件夹
  2. 设置虚拟环境pipenv install
  3. 激活虚拟环境pipenv shell
  4. 安装 django pip3 install django
  5. 运行 项目 pipenv run python manage.py runserver

当您以非 root 用户的普通用户身份安装 pip 包时,会发生此错误。 pip install <package name> --user 命令实际上在安装软件包的用户主目录中创建一个名为 .local 的目录。

修复:

  1. 找到django包安装位置sudo find / -name 'django'
  2. 从查找命令输出中复制路径。
  3. 在 ~/.bashrc 文件中使用 PYTHONPATH 变量创建导出变量。
  4. 保存文件并退出。
  5. 退出正常的用户提示。
  6. 再次以普通用户登录。
  7. 运行 命令 env 检查输出中设置的 PYTHONPATH 变量。
  8. 运行命令python manage.py runserver <ip address: port>

确保您正在使用命令提示符。

使用这个命令'

workon your_env_name

'

安装 Python3,确保它在 PATH 上,确保安装了 PIP,使用 PIP 安装 virtualenv,设置 virtualenv,激活 virtualenv,安装 django。

或者您可以尝试 运行 命令 pipenv shell,然后在 vscode 终端中使用 py manage.py 运行server 启动服务器。