sudo pip:为什么,为什么不和替代品

时间:2017-11-13 15:31:53

标签: python pip

我四处读了很多关于sudo pip是一个非常糟糕的习惯/解决方案的内容。人们给出的一些理由是:

  • 它可以运行恶意代码。
  • 它将破坏权限结构。
  • Sudo用于安装软件包"系统范围"。
  • 撒旦!1 !!一个

我找到的替代方案是使用pip运行--user(例如pip install --user package)。我看到Debian中的python工作有点不同(我有Stretch),主要是因为使用的路径(--user在Debian中是标准的,如果省略,顺便说一句)。总之,我发现了很多不一致的东西。

理所当然地认为使用sudopip是错误的,有人可以解释我为什么,而且最重要的是 时错了吗?我遇到的主要问题都与权限有关,所以我的猜测是sudo"只是"毁灭所有权。

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

1 个答案:

答案 0 :(得分:3)

除非您希望 全局安装二进制文件,服务或依赖项,否则您不希望使用sudo pip。正如你猜测的那样,它会全局安装你的依赖关系,这可能会在开发过程中造成不一致。

现在更常规的做法是使用virtualenv来安装依赖项。这样,您使用安装执行的任何操作都是Python的特定virtualenv实例的本地实现。