无法与sudo

时间:2018-07-18 14:46:33

标签: python linux python-3.x pip

我无法将pip3用作sudo。当前,如果我不使用sudo,则计算机将假定我要使用python3,但是如果包含sudo,则计算机将假定我要使用python2

enter image description here

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

如果我尝试同时以sudo和pip3的形式安装库,则会得到ImportError。目前,针对我的解决方法是使用--user标志,而不使用sudo

有没有一种方法可以在sudo中使用pip和pip3?之所以这样问,是因为我正在查看名为Tensorflow and they specifically include sudo的库的安装说明。

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

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

编辑:我不确定为什么收到负面评价-如果需要编辑,请发表评论。

1 个答案:

答案 0 :(得分:1)

  

当前,如果我不使用sudo,我的计算机将假定我要使用python3,但是如果我包含sudo,我的计算机将假定我要使用python2 。 ...如果我尝试同时以sudopip3的形式安装库,则会得到ImportError

是的,不幸的是,如果您遵循that guide,则您的系统环境现在可能会以这种方式混乱。

  

目前,针对我的解决方法是使用--user标志不使用sudo

您的解决方法是正确的。这是为您的用户而不是root用户安装张量流。

  

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

这不是一个坏习惯,这是一个好习惯,也是有问题的指南。总结:

  • 使用sudo 添加删除软件包时使用apt-get
  • 请勿使用sudo修改/升级与pip一起安装的apt安装。程序包管理器不喜欢将文件从脚下移走。
  • 如果您想将pip升级到发行版存储库提供的版本之后的版本,请在主目录(--user或virtualenv)中进行升级,并且不要与系统python / pip混淆。 / li>

我创建了PR20927来希望改进指南的这一部分。