运行pip / easy_install时是否需要sudo?

时间:2014-09-03 12:48:59

标签: python python-2.7 sudo

我最近一直在阅读的所有蟒蛇叮当告诉我要做这样的事情:

pip install tornado
pip install requests

每次我这样做都会遇到permission denied警告。但是当我sudo时,一切通常都有效。

是否需要sudo?如果是这样,为什么这么多教程说明没有提到呢?

在ruby中,我们可以使用Rbenv或RVM进行安装,这两者都不需要使用sudo。在python中有任何等价物吗?或者暗示您应该始终sudo

1 个答案:

答案 0 :(得分:8)

pip需要获得将库写入其使用目录的权限。如果您没有用户权限,则会出现此问题,因此pip失败。使用sudo解决了这个问题,但并不理想。

您不应该使用sudo运行代码,因为您不知道库中的内容,如果它包含恶意代码,则可能会对您的计算机造成严重损害。

您可以通过确保您有权写入pip设置使用的目录来解决此问题。

更好的选择(正如您在评论中建议的那样)是使用virtualenv,这样您就可以使用pip而无需sudo。请确保您不使用sudo创建此virtualenv,但因为您没有权限以普通用户的身份向其写入。