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

标签 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 用户并再次使用 pip install 命令激活 virtualenv 并得到此结果(因为它已经使用 sudo pip install 命令安装到系统中):
Requirement already satisfied  

我将站 pip 包上的权限更改为 777,然后将错误 13 权限错误更改为另一个文件:
  PermissionError: [Errno 13] Permission denied: '/home/ivan/sites/mysite/virtualenv/bin/django-admin.py'

问题:

1) 对出现权限错误的每个目录或文件使用 chmod 是一种草率的做事方式吗?有没有更好的办法?我第一次启动 ubuntu 服务器时是否更改/home/或其他一些目录权限?

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

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

这是我第一次尝试设置 Web 服务器,如果有任何帮助,我将不胜感激。

伊万

最佳答案

您需要更改 /home/ivan/ 中文件和目录的所有者目录到 ivan .尝试这个:

sudo chown -R ivan:ivan /home/ivan

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

关于python - 在 ubuntu 服务器 virtualenv 中安装 django 的 pip 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28922597/

相关文章:

python - 如何在Django中导出和导入数据和授权信息?

python - 从字典中打印随机范围 2-4 中的 K 和 V

python - 故障排除 'WSGIRequest' 对象没有属性 'user'?

android - 尝试在 Ubuntu 13.04 上运行 Phonegap

php - 无法安装php包?

python - Django 序列化程序方法字段

具有连续无界输入的Python ThreadPoolExecutor

python - 如何在 Django 1.5+ 中将 settings.LOGIN_URL 设置为 View 函数名称

python - 如何在 Django Rest Framework 中对外部 API 进行分页

linux - 如何编码和解码64位格式的NTP时间戳?