sudo pip:为什么要用,为什么不用,以及替代方案
sudo pip:为什么要用,为什么不用,以及替代方案
这个问题已经有答案了:
我阅读了很多关于使用sudo pip
是一个很糟糕的习惯/解决方案的内容。一些人给出的原因是:
- 它可以运行恶意代码。
- 它会破坏权限结构。
- 使用sudo是为了“系统范围”安装包。
- 这就是撒旦!1!1(网络用语)
我发现的另一种选择是使用--user
运行pip
(例如pip install --user package
)。我看到Debian中的python工作有一些不同(我使用的是Stretch),主要是因为使用的路径(顺便说一下,如果省略了--user
,那么在Debian中是标准的)。总之,我发现了很多不一致的地方。
假设使用sudo
和pip
一起是不正确的,是否有人能解释为什么,更重要的是,何时是错误的?我遇到的主要问题都是关于权限的,所以我猜sudo
“只是”破坏了拥有权。
除了使用--user
或virtualenv之外,是否还有其他解决方案?
admin 更改状态以发布 2023年5月24日
除非你想要或必须全局安装二进制文件、服务或依赖项,否则你不应该使用sudo pip
。如你所猜测的那样,它会全局安装你的依赖项,这可能会在开发过程中导致不一致。
现在更常规的做法是使用virtualenv来安装你的依赖项。这样,你所进行的安装都是针对特定虚拟环境实例的Python。