在ubuntu服务器virtualenv中安装django的pip问题

时间:2015-03-08 02:59:26

标签: python django ubuntu pip virtualenv

我在和EC2实例上创建了一个virtualenv,并安装了ubuntu服务器。

我创建了一个非root用户" ivan"给予的是sudo权限:

usermod -a -G sudo ivan

当我激活virtualenv并与用户ivan一起运行此命令时:

pip install django==1.7  

我收到了各种与权限相关的错误:

The directory '/home/ivan/.cache/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want the -H flag.

以及更重要的是

  PermissionError: [Errno 13] Permission denied: '/home/ivan/sites/mysite/virtualenv/lib/python3.4/site-packages'

当virtualenv被激活时,我尝试了

sudo pip install django == 1.7

但是将django安装到系统文件夹中,而不是在virtualenv中。

我也尝试过更改为root用户并使用此结果再次激活virtualenv使用pip install命令(因为它已经使用sudo pip install命令安装到系统中):

Requirement already satisfied  

我将site-packages的权限更改为777,然后将错误13权限错误更改为其他文件:

  PermissionError: [Errno 13] Permission denied: '/home/ivan/sites/mysite/virtualenv/bin/django-admin.py'

问题:

1)对每个目录或文件使用chmod是否是一种草率的做法?有没有更好的办法?首次启动ubuntu服务器时,是否更改/ home /或其他目录权限?

2)对Web服务器攻击的这些文件和目录使用777权限?

3)我应该将我遇到这些问题的文件和目录chmod到777,然后将它们更改回755?

这是我第一次尝试设置网络服务器,我将不胜感激。

伊万

1 个答案:

答案 0 :(得分:1)

您需要将/home/ivan/目录中的文件和目录的所有者更改为ivan。试试这个:

sudo chown -R ivan:ivan /home/ivan

此外,由于某些软件包可能部分安装,我建议重新创建virtualenvs并从ivan用户重新安装python软件包。