ImportError:无法导入Django ...您是否忘记激活虚拟环境?

时间:2019-08-11 12:23:05

标签: python django virtualenv

我知道对此有一些疑问/答案,但是我不知道该怎么办。 我想开始使用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

----------------- mysite

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

------------------------- mysite

------------------------- 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。我不知道这是否对您有帮助。

谢谢您的时间。

6 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

在Windows计算机上,您应通过此命令venv激活.\venv\Scripts\activate(请注意,您应位于该venv所在的文件夹中)

然后在激活的venv内部安装Django pip install django,并在同一终端中运行服务器python manage.py runserver

答案 2 :(得分:0)

我也有类似的问题:

  • 在全球安装的django
  • 虚拟环境的设置和激活
  • 在venv下启动django项目设置

尝试运行项目时,它仍然无法导入Django。

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

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

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

答案 3 :(得分:0)

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

答案 4 :(得分:0)

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

修复:

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

答案 5 :(得分:0)

确保您在命令提示符下工作。

使用这个命令'

<块引用>

workon your_env_name

'