sudo pip:为什么要用,为什么不用,以及替代方案

13 浏览
0 Comments

sudo pip:为什么要用,为什么不用,以及替代方案

这个问题已经有答案了:

运行“sudo pip”的风险是什么?

在我的Mac上以root身份运行pip时出现“Permission Denied”

如何在没有root访问权限的情况下安装python模块?

为什么我在使用Python和pip时不能做一些事情而不使用sudo?

我阅读了很多关于使用sudo pip是一个很糟糕的习惯/解决方案的内容。一些人给出的原因是:

  • 它可以运行恶意代码。
  • 它会破坏权限结构。
  • 使用sudo是为了“系统范围”安装包。
  • 这就是撒旦!1!1(网络用语)

我发现的另一种选择是使用--user运行pip(例如pip install --user package)。我看到Debian中的python工作有一些不同(我使用的是Stretch),主要是因为使用的路径(顺便说一下,如果省略了--user,那么在Debian中是标准的)。总之,我发现了很多不一致的地方。

假设使用sudopip一起是不正确的,是否有人能解释为什么,更重要的是,何时是错误的?我遇到的主要问题都是关于权限的,所以我猜sudo“只是”破坏了拥有权。

除了使用--user或virtualenv之外,是否还有其他解决方案?

admin 更改状态以发布 2023年5月24日
0
0 Comments

除非你想要或必须全局安装二进制文件、服务或依赖项,否则你不应该使用sudo pip。如你所猜测的那样,它会全局安装你的依赖项,这可能会在开发过程中导致不一致。

现在更常规的做法是使用virtualenv来安装你的依赖项。这样,你所进行的安装都是针对特定虚拟环境实例的Python。

0