【问题标题】:Difference between sudo -H pip install and pip --user installsudo -H pip install 和 pip --user install 的区别
【发布时间】:2018-11-19 09:47:01
【问题描述】:

我想知道这两个命令有什么区别(我感觉它们是相同的):

  • sudo -H pip install <package>
  • pip --user install <package>

更多信息:
从 sudo 手册页:

-H, --set-home
    Request that the security policy set the HOME environment
    variable to the home directory specified by the target user's
    password database entry. Depending on the policy, this may be
    the default behavior.

以及 pip 用户指南:https://pip.pypa.io/en/stable/user_guide/


相关问题:
What is the difference between pip install and sudo pip install?
What is the purpose of "pip install --user ..."?
sudo pip install VS pip install --user
但他们都没有谈论sudo -H 选项或两者之间的确切区别。

【问题讨论】:

标签: python pip


【解决方案1】:

sudo 是“超级用户做”的缩写。它只是以 root 权限运行命令,如果您要安装到您通常无权访问的目录,这可能会很有用。

但是,在您给出的示例中,这两个命令的功能相同,因为您不需要对 pip install --user 的 root 权限

【讨论】:

  • 你能解释一下为什么: pip --version 命令返回我 18.1 而 sudo -H pip --version 返回我 18.1 吗?
  • pip --version 不需要提升权限,因此使用sudo -H 授予它这些权限不会改变输出
  • 不会变?但它实际上是我做的。
  • @s.k 在您的评论中您说这两个命令都返回 18.1。这是一个错字吗?
  • 糟糕,是的,对不起;仅 pip 就返回了 18.0。所以我必须上传 pip 两次;一个带有 sudo -H 一个没有。
【解决方案2】:

区别在于授予软件包的权限以及软件包的安装位置。当您以 root 身份运行命令时,将使用 root 权限安装包。

这是一个例子:

运行 sudo -H pip3 install coloredlogs 会产生以下结果:

$ sudo pip3 show coloredlogs | grep Location
Location: /usr/local/lib/python3.8/dist-packages

$ ls -l /usr/local/lib/python3.8/dist-packages
drwxr-sr-x 4 root staff 4096 Feb 25 01:14 coloredlogs

$ which coloredlogs
/usr/local/bin/coloredlogs

运行 pip3 install --user <package> 会产生以下结果:

$ pip3 show coloredlogs | grep Location
Location: /home/josh/.local/lib/python3.8/site-packages

$ ls -l /home/josh/.local/lib/python3.8/site-packages
drwxrwxr-x 4 josh josh 4096 Feb 25 01:14 coloredlogs

$ which coloredlogs
coloredlogs not found

请注意两者之间的位置差异,并注意当使用--user 标志安装时,包没有安装在PATH 上。如果出于某种原因我想直接调用包,我需要将 /home/josh/.local/bin 添加到我的 PATH 中。

【讨论】:

    猜你喜欢
    • 2015-06-01
    • 1970-01-01
    • 2016-08-04
    • 2015-03-16
    • 2015-12-08
    • 2015-06-13
    相关资源
    最近更新 更多