【问题标题】:Why pip freeze >requirements.txt return Permission denied为什么 pip freeze >requirements.txt 返回权限被拒绝
【发布时间】:2018-03-04 18:38:07
【问题描述】:

当我在虚拟环境中工作时,我在那里安装了我的包django-2.0。然而它是全局安装的:

sudo virtualenv -p /usr/bin/python3.5 ~/.virtualenv/venv
source ~/.virtualenv/venv/bin/activate
(venv) $ pip install django==2.0

而且我之前的全局环境中有 django-1.11。然而 django-1.11 也希望安装到其他虚拟环境中,但它也是全局安装的。 我卸载了这个包,并尝试再次将它安装到我的虚拟环境中。 但它似乎根本不起作用。新安装的所有包都在全局环境中。

现在我想使用pip freeze >requirements.txt 获取需求文件,但它返回:

(venv) $ pip3 freeze >requirements.txt
bash: requirements.txt: Permission denied
(venv) $ sudo pip3 freeze >requirements.txt
bash: requirements.txt: Permission denied

我想可能是因为我在全球范围内安装了这些软件包?我不知道。

如何正确安装包到我的虚拟环境,并获取需求文件:(

【问题讨论】:

  • 重新阅读错误信息:bash: requirements.txt: Permission denied。它正在谈论requirements.txt,该文件。它与 pip 没有任何关系。它只是无法访问该文件。
  • 创建虚拟环境时不要使用sudo。应该没有理由这样做。您可能还想移动到您的环境创建的目录,而不是您已经在其中的目录。

标签: python django linux virtualenv


【解决方案1】:

这只是一个权限问题:使用您没有的某些权限检查需求是否已存在。如果是这样,sudo rm requirements.txtpip3 freeze > requirements.txt 应该可以解决问题。

否则应该是你所在的文件夹没有写权限。试试sudo chown -R your_username directory_path

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-10-01
    • 1970-01-01
    • 2016-03-12
    • 1970-01-01
    • 2018-06-22
    • 1970-01-01
    • 1970-01-01
    • 2011-03-29
    相关资源
    最近更新 更多