【问题标题】:Unable to use pip3 with sudo无法将 pip3 与 sudo 一起使用
【发布时间】:2018-07-18 14:46:33
【问题描述】:

我无法将pip3 用作sudo。目前,如果我不使用sudo,我的计算机会假设我想使用python3,但如果我包含sudo,我的计算机会假设我想使用python2

我希望能够在 sudo 中同时使用 pip 和 pip3。

如果我尝试将库安装为 sudo 和 pip3,我会得到一个 ImportError。目前对我来说解决这个问题的方法是使用--user 标志不带 sudo

有没有办法可以将 pip 和 pip3 与 sudo 一起使用?我问这个的唯一原因是因为我正在查看一个名为 Tensorflow and they specifically include sudo 的库的安装说明。

  sudo pip install -U tensorflow   # Python 2.7
  sudo pip3 install -U tensorflow  # Python 3.n

因为我想在 python3 中使用 tensorflow,所以我使用了 pip3 和 --user 而不使用 sudo 来解决这个问题。这是一个问题还是使用--user 是不好的做法?

编辑:我不知道为什么我收到了负面评价 - 如果我需要进行编辑,请发表评论。

【问题讨论】:

  • 不要将sudo 与pip、句号一起使用。您在哪里找到这些安装说明?他们应该改变。
  • 嗯,我认为谷歌应该知道他们在做什么
  • 您似乎为您的本地帐户自定义安装了 Python 3,而您的 root 帐户(在您使用 sudo 时使用)没有关于该本地安装的环境变量。简而言之:在你的情况下,不要使用 sudo

标签: python linux python-3.x pip


【解决方案1】:

目前,如果我不使用sudo,我的计算机会假设我想使用python3,但如果我包含sudo,我的计算机会假设我想使用python2。 ...如果我尝试将库安装为sudopip3,我会得到ImportError

是的,很遗憾,如果您关注了that guide,那么您的系统环境现在很可能以这种方式搞砸了。

目前对我来说解决这个问题的方法是使用--user 标志不带 sudo

你的方法是正确的。这是为你的用户安装张量流,而不是为 root 用户。

我问这个的唯一原因是因为我正在查看安装说明......这是一个问题还是使用 --user 是不好的做法?

这不是不好的做法,是好的做法,问题出在指南上。总结:

  • 添加删除软件包使用apt-get时使用sudo
  • 不要使用 sudo 修改/升级使用 apt 安装的 pip 安装。包管理员不喜欢他的文件从他的脚下移动。
  • 如果您想将 pip 升级到比您的发行版存储库提供的版本更高的版本,请在您的主目录(--user 或 virtualenv)中执行此操作,并且不要弄乱系统 python/pip。

我创建了PR20927,希望能改进这部分指南。

【讨论】:

    猜你喜欢
    • 2011-04-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多