【发布时间】: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