运行pip/easy_install时需要sudo吗?
最近我在看很多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
创建这个虚拟环境,因为那样你作为普通用户就没有权限写入它了。