运行pip/easy_install时需要sudo吗?

6 投票
1 回答
2410 浏览
提问于 2025-04-19 14:12

最近我在看很多Python的教程,里面都让我这样做:

pip install tornado
pip install requests

但是每次我这样做的时候,都会收到一个权限被拒绝的警告。不过通常我用sudo就能正常工作。

那么,使用sudo是必须的吗?如果是的话,为什么这么多教程都没提到这一点呢?

在Ruby中,我们可以使用Rbenv或RVM来安装,这样就不需要用到sudo。在Python中有没有类似的工具?还是说大家默认都应该一直用sudo呢?

1 个回答

8

pip 是一个用来安装和管理Python库的工具,它需要有权限才能把库写入到它使用的目录。如果你作为用户没有这个权限,就会出现问题,导致 pip 失败。使用 sudo 可以绕过这个问题,但这并不是一个理想的解决办法。

你绝对不应该使用 sudo 来运行代码,因为你不知道这个库里面有什么。如果它包含恶意代码,可能会对你的电脑造成严重损害。

要解决这个问题,你可以确保你有权限写入 pip 所使用的目录。

一个更好的选择(正如你在评论中提到的)是使用虚拟环境(virtualenv),这样你就可以在不需要 sudo 的情况下使用 pip。不过要注意,不要用 sudo 创建这个虚拟环境,因为那样你作为普通用户就没有权限写入它了。

撰写回答