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



我知道有几个问题/答案,但我可以;不知道我应该怎么做。 我想开始使用 Django 并使用pip install安装它,并将 Python37 和 Python37-32 添加到我的环境变量中,我想它有效,因为我可以在我的 shell 中运行几个 Python 命令。 但每次我尝试

python manage.py runserver

它给了我一个错误。

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

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

**C:UsersKampetDesktopPython-Djangomysite>pip install django Requirement already satisfied: django in c:userskampetappdatalocalprograms pythonpython37-32libsite-packages (2.2.4) Requirement already satisfied: pytz in c:userskampetappdatalocalprogramspy thonpython37-32libsite-packages (from django) (2019.2) Requirement already satisfied: sqlparse in c:userskampetappdatalocalprogram spythonpython37-32libsite-packages (from django) (0.3.0)**
# And thats my error
**C:UsersKampetDesktopPython-Djangomysite>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

-----------------文夫

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

-------------------------自由

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

-------------------------皮文夫.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.venvScriptsactivate(请注意,您应该在此 venv 所在的文件夹中)

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

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

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

我遇到了类似的问题:

  • 全球安装的 Django
  • 虚拟环境设置和激活
  • 在 Venv 下激活的 Django 项目设置

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

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

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

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

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

修复:

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

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

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

使用此命令">

workon your_env_name

'

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

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

就我而言,我将python重新安装到C驱动器上的全局文件夹中,并错误地在全局变量中编写了PYTHONPATH With:\Python而不是C:\Python\Scripts,但在局部变量中它写得正确

在此处输入图像描述 在Windows上,您应该通过此命令激活env.\env\Scripts\activate (请注意,您应该在此env所在的文件夹中)

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

相关内容

最新更新