【问题标题】:unix venv django-admin permission deniedunix venv django-admin 权限被拒绝
【发布时间】:2021-05-22 18:28:21
【问题描述】:

我正在尝试在 Linux CentOS 系统上设置 django 项目。 我创建了一个这样的虚拟环境:

$ python3 -m venv venv

并像这样激活它:

$ source venv/bin/activate

在这个虚拟环境中,我像这样更新了 pip:

(venv)$ python -m pip install -U pip

这返回了以下消息:

Successfully installed pip-21.0.1

接下来我像这样安装了 django 和 djangorestframework:

(venv)$ python -m pip install django djangorestframework

这返回了以下消息:

Successfully installed asgiref-3.3.1 django-3.1.7 djangorestframework-3.12.2 pytz-2021.1 sqlparse-0.4.1

然后我尝试像这样开始一个新项目:

(venv)$ django-admin startproject myproject .

这是我收到回复的时候:

-bash: /home/me/projects/venv/bin/django-admin: Permission denied

我认为解决此问题的方法不应该是对该文件的简单 chmod,因为我认为我最初安装东西的方式可能有问题?考虑到我正在使用(venv)激活,所有权限肯定应该是自动的吗?我在这里错过了什么?

【问题讨论】:

  • "考虑到我正在使用 (venv) 激活,所有权限肯定应该是自动的?" 当然。 “我在这里错过了什么?” 我们怎么知道?至少向我们展示权限:ls -l /home/me/projects/venv/bin/django-admin 和 shebang:head -1 /home/me/projects/venv/bin/django-admin
  • 第一个是-rwxr-xr-x 1,第二个是#!/home/me/projects/venv/bin/python
  • 两者看起来都不错。不解……

标签: python django unix pip permissions


【解决方案1】:

好的,谜题解决了。以上任何一项都没有错。事实证明,这是一个安全策略设置,根本不允许任何可执行文件从 /home 运行。将我的项目移动到 /opt 解决了所有问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-01-15
    • 1970-01-01
    • 1970-01-01
    • 2015-06-14
    • 2012-03-12
    • 2021-01-17
    • 2018-02-05
    • 2013-01-25
    相关资源
    最近更新 更多