我在激活我的virtualenv之后安装了Django,但我仍然遇到以下错误
from django.core.management import execute_from_command_line
ImportError: No module named django.core.management
答案 0 :(得分:24)
如果你已经激活了virtualenv(source /path/bin/activate
),那么检查你是否安装了Django。
pip install django
使用next命令可以看到是否安装了Django。
pip freeze | grep django
您可以尝试的另一件事是删除#!/usr/bin/env python
文件中的第一行(manage.py
)。
答案 1 :(得分:5)
您应该检查是否安装了django 激活您的环境,然后运行以下命令以查看已安装的版本:
python -c "import django; print(django.get_version())"
答案 2 :(得分:3)
sudo pip install django --upgrade
为我工作,顺便说一句,我没有虚拟环境。
答案 3 :(得分:1)
我正在使用虚拟环境,所以我在manage.py
中添加了这一行:
sys.path.append('./myvenv/lib/python3.5/site-packages')
其中myvenv
是我的虚拟环境的名称,我安装的Python的版本是3.5
。
这解决了我的问题。
答案 4 :(得分:0)
我发现我同时安装了Python 3.4和2.7,而pip install django==1.7
命令自动决定了Python 3.4 / dist-packages应该存在的地方。我将CD转到Python 2.7目录并重新输入它......一切都很顺利。
答案 5 :(得分:0)
当我从虚拟环境中运行Django然后使用另一个终端窗口运行命令时,我遇到了同样的问题
python manage.py shell
没有先切换到venv。
我换回后问题得到了解决。
答案 6 :(得分:0)
如果您使用的是virtualenv,则可以使用sys.path.append('./myvenv/lib/python3.5/site-packages')
将其添加到路径中。
尝试再次关闭和打开终端。这对我也有用。
答案 7 :(得分:-1)
我发现我可以从python解释器导入django模块,但是当从命令行运行时,django-admin.py无法导入它。
我确认我在虚拟环境中使用了python解释器。
我使用的是64位版本的python。卸载并安装32位版本,然后重新创建我的venv为我解决了这个问题。