0

所以我一直在我的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-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)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 命令。

4

3 回答 3

3

问题:

sudo easy_install Django

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

因此,

easy_install django

或者

pip install django

应该管用。

于 2013-10-04T06:43:29.423 回答
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
于 2013-10-04T07:28:57.583 回答
0

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

您调用不在虚拟环境中的 pip 。似乎激活不起作用。

于 2013-10-04T08:05:42.133 回答