使用Virtualenv的Django安装出错了

时间:2013-10-04 06:39:58

标签: python django python-2.7 ubuntu-12.04 virtualenv

所以我一直在玩我的ubuntu(12.04)上的python(2.7.x)和django框架。我设置基于django的项目的方式是使用virtualenv

我是这样做的

** FROM TERMINAL **
1. sudo apt-get install python-setuptools
2. sudo easy_install virtualenv

然后我继续使用此命令为我的django项目设置目录:

virtualenv --no-site-packages project-name

之后不久,我激活了我的virtualenv:

source project-name/bin/activate

然后我继续使用这个Django框架安装:

sudo easy_install Django

通过检查project-name / bin /目录下存在一个名为django-admin.py的文件(存在)来验证Django框架是否安装在我的virtualenv中。

然而,我第二次尝试按照上面相同的步骤创建另一个django项目(完全不同的项目),我没有在正确的目录中安装django-admin.py。它被安装到/ usr / lib / python ...

当我试图运行应用程序时,我收到此消息:

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

有谁知道为什么会这样?

感谢。

* EDITED PART *

回应sachitad的回答

当我执行他/她的建议时,我收到以下消息

(project-name)blah@blah:~/Documents/python/project-name$ easy_install django
error: can't create or remove files in install directory

The following error occurred while trying to add or remove files in the
installation directory:

[Errno 13] Permission denied: '/home/blah/Documents/python/project-name/lib/python2.7/site-packages/test-easy-install-3775.write-test'

您指定的安装目录(通过--install-dir, - prefix,或 distutils默认设置)是:

/home/blah/Documents/python/project-name/lib/python2.7/site-packages/

这就是为什么,我最初认为我需要使用sudo命令。

3 个答案:

答案 0 :(得分:3)

<强>问题:

sudo easy_install Django

即使你已经激活了virtualenv,在virtualenv中安装包时,永远不会使用sudo。如果您使用sudo,则假定您正在系统路径(/usr/lib/local/..)上安装。

因此,

easy_install django

pip install django

应该有用。

答案 1 :(得分:2)

作为sachitad答案的补充,我建议您查看virtualenvwrapper,这样您就可以使用以下命令轻松管理虚拟环境:

mkvirtualenv your_project_name // create a virtual environment
workon your_project_name // select this virtual environment

pip install django // will install in this virtualenv

答案 2 :(得分:0)

./ home / user / path_to_virtual_env_project_ / bin / pip install Django

你打电话给那个不在虚拟环境中的pip。 似乎激活不起作用。