我正在尝试使用virtualenv
。
我将它安装在我的ubuntu系统上,按照here给出的简单步骤
但是当我激活我的虚拟环境并尝试做
$ python manage.py runserver
它抛出错误
Traceback (most recent call last):
File "manage.py", line 8, in <module>
from django.core.management import execute_from_command_line
ImportError: No module named django.core.management
我试图看看django是否可以从我的虚拟环境访问,所以它试图
$ python
>>> import django
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named django
并且相同的import django
在virtualenv中运行良好。
我还尝试从root python setup中删除django
文件夹并重新安装它。但都是徒劳的,问题仍然是一样的。我现在该怎么办?
PS:我试图运行easy_install Django
&amp; easy_install django
每当它说django已经是他们的时候,从虚拟环境中获得了无数次。
PPS:我不知道它是否具有重要意义,但在系统完成所有这些操作之前,它们是django
安装。
答案 0 :(得分:0)
检查你的manage.py
,第一行需要定义python可执行文件,通常是#!/usr/bin/env python
。这应该是virtualenv
中python可执行文件的路径,而不是全局可执行文件的路径。如果您在系统范围内安装了Django
,那么这不会有问题。
以防万一
virtualenv venv
source venv/bin/activate
python manage.py runserver
答案 1 :(得分:0)
[为遇到同样问题的Windows用户添加此信息]
如果您在Windows上遇到此问题,请确保您的虚拟环境处于活动状态(您的提示类似于(venv) d:\myproject
),并且您明确地运行了python.exe。
在后一点上,不要运行py.exe(3.3中引入的Python Launcher)或依赖.py文件关联来运行Python。这两个都会在你的虚拟环境之外运行一个Python版本,因此会有错误的站点包。
如果您的虚拟环境有django 1.8.6,但您的核心Python安装没有django,那么:
python -c "import django;print(django.get_version())"
可以使用并打印1.8.6
py -c "import django;print(django.get_version())"
将因&#34; ImportError: No module named django
&#34;