2013-10-04 73 views
0

所以我一直在玩我的Ubuntu(12.04)python(2.7.x)和Django框架。我的方式安装的Django基于项目是使用的virtualenvDjango安装使用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 

,并验证Django框架通过检查有一个项目名称/ bin /目录下名为django-admin.py文件我的virtualenv中安装(这是存在的)。

但是,第二次尝试按照上述相同的步骤创建另一个django-project(完全不同的)时,我没有在正确的目录中安装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 

有谁知道为什么会出现这种情况?

谢谢。

*编辑的零件*

回应sachitad的回答

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

(project-name)[email protected]:~/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' 

您指定的安装目录(通过 - 安装目录, - 前缀或 distutils默认设置)为:

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

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

回答

2

作为除了sachitad答案,我建议你看看virtualenvwrapper,让你可以与像命令来管理你轻松ENV当前虚拟:

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

pip install django // will install in this virtualenv 
+0

我是否需要在此虚拟环境中安装pip或easy_install? – Jeremy

+0

你可以使用'pip'或者'easy_install'来安装'virtualenv.'中的python软件包。我推荐'pip',因为它比'easy_install'有很多优点。 – sachitad

+0

所以,我实际上放弃了virtualenv - 无站点包,并决定使用你的解决方案。它适用于一些调整(如virtualenvwrapper站点所述)。队友的欢呼声。 – Jeremy

3

问题:

sudo easy_install Django 

即使您已激活的virtualenv,而里面的virtualenv安装软件包,永远使用sudo。如果您使用sudo,则假定您正在系统路径(/usr/lib/local/..)上进行安装。

因此,

easy_install django 

OR

pip install django 

应该工作。

+0

嗨请看看我编辑过的问题部分。 – Jeremy

+1

这是他的:)噢,事实证明你的项目目录里面没有写权限。给写入权限,你应该没问题。 'chmod -R u + rw project_name' – sachitad

+0

我收到一堆这样的消息 chmod:更改'project-name/local'的权限:不允许操作 当我做了ls -l时,这就是我get drwxr-xr-x 6 root root 4096 Okt 4 13:45 project-name – Jeremy

0

./home/user/path_to_virtual_env_project_/bin/pip安装Django

你称之为不在虚拟环境中的pip。 它似乎激活不起作用。