所以我一直在玩我的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命令。
答案 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。 似乎激活不起作用。