为什么pip冻结> requirements.txt返回权限被拒绝

时间:2018-03-04 18:38:08

标签: python django linux virtualenv

当我在虚拟环境中工作时,我在那里安装了我的包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

我想也许是因为我在全球安装这些套餐?我不知道。

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

1 个答案:

答案 0 :(得分:0)

这仅仅是一个权限问题:在您没有的某些权限的情况下检查要求是否已经存在。如果是这样,那么sudo rm requirements.txtpip3 freeze > requirements.txt应该可以解决问题。

否则,这应该意味着您没有所在文件夹中的写入权限。请尝试sudo chown -R your_username directory_path