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 实际上解决了问题。
您的情况可能有所不同,但请尝试以下场景:
- 设置 venv
- 激活 venv
- 安装 django
- 创建 django 项目
- 尝试运行 django proj
在 anaconda 提示符下尝试 运行 它,而不是 cmd,这对我有用
我在 windows 10 系统中遇到了类似的问题,并使用 pipenv 解决了。使用下面给出的命令的步骤。
- cd/Go到项目文件夹
- 设置虚拟环境
pipenv install
- 激活虚拟环境
pipenv shell
- 安装 django
pip3 install django
- 运行 项目
pipenv run python manage.py runserver
当您以非 root 用户的普通用户身份安装 pip 包时,会发生此错误。 pip install <package name> --user
命令实际上在安装软件包的用户主目录中创建一个名为 .local
的目录。
修复:
- 找到django包安装位置
sudo find / -name 'django'
- 从查找命令输出中复制路径。
- 在 ~/.bashrc 文件中使用 PYTHONPATH 变量创建导出变量。
- 保存文件并退出。
- 退出正常的用户提示。
- 再次以普通用户登录。
- 运行 命令
env
检查输出中设置的 PYTHONPATH 变量。
- 运行命令
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 启动服务器。
我知道有几个 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 实际上解决了问题。
您的情况可能有所不同,但请尝试以下场景:
- 设置 venv
- 激活 venv
- 安装 django
- 创建 django 项目
- 尝试运行 django proj
在 anaconda 提示符下尝试 运行 它,而不是 cmd,这对我有用
我在 windows 10 系统中遇到了类似的问题,并使用 pipenv 解决了。使用下面给出的命令的步骤。
- cd/Go到项目文件夹
- 设置虚拟环境
pipenv install
- 激活虚拟环境
pipenv shell
- 安装 django
pip3 install django
- 运行 项目
pipenv run python manage.py runserver
当您以非 root 用户的普通用户身份安装 pip 包时,会发生此错误。 pip install <package name> --user
命令实际上在安装软件包的用户主目录中创建一个名为 .local
的目录。
修复:
- 找到django包安装位置
sudo find / -name 'django'
- 从查找命令输出中复制路径。
- 在 ~/.bashrc 文件中使用 PYTHONPATH 变量创建导出变量。
- 保存文件并退出。
- 退出正常的用户提示。
- 再次以普通用户登录。
- 运行 命令
env
检查输出中设置的 PYTHONPATH 变量。 - 运行命令
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 启动服务器。