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

ste*_*och 6 python sudo python-2.7

我最近读过的所有python tuts告诉我要做这样的事情:

pip install tornado
pip install requests
Run Code Online (Sandbox Code Playgroud)

每次我这样做都会受到permission denied警告.但是一切都通常适用于我sudo.

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

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

Ffi*_*ydd 8

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

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

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

一个更好的选择(正如你在评论中所建议的那样)是使用virtualenv,这将允许你pip在不需要的情况下使用sudo.确保你不使用创建这个virtualenv,sudo因为那样你就没有权限以普通用户的身份写入它.