当我使用sudo以root身份运行时,Python 2.7,而不是Anaconda 3在运行

时间:2019-06-20 09:18:18

标签: python linux

当我在RHEL上运行python时,我会自动使用Anaconda3:

Python 3.7.3 (default, Mar 27 2019, 22:11:17)
[GCC 7.3.0] :: Anaconda, Inc. on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>

当我使用sudo python时,它默认为python 2.7。

Python 2.7.5 (default, Sep 12 2018, 05:31:16)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-36)] on linux2
Type "help", "copyright", "credits" or "license" for more information.

“哪个python”与“ sudo哪个python”给出:

/opt/anaconda3/bin/python

/bin/python

如何使sudo命令运行python的Anaconda分发。有改变的风险吗?

我可以永久进行更改吗,还是只使用完整的Anaconda路径从sudo运行python?

1 个答案:

答案 0 :(得分:1)

您的python版本和root的安装位置不同。如果要使用/opt/anaconda3/bin/python,则有不同的方法: 您可以添加root用户的alias python="/opt/anaconda3/bin/python" to your .bashrc文件,然后重新登录或获取该.bashrc的资源。

其他方法是在以root用户身份运行时在Python代码中使用#!/opt/anaconda3/bin/python,以便使用anaconda发行版。

要点是,您必须使用/opt/anaconda3/bin/python作为python二进制文件。

您还可以从root用户中删除python2.7,并在/opt/anaconda3/bin/python env变量中添加PATH

此外,您可以在PATH环境变量中添加/opt/anaconda3/bin/python,并使用python3代替root用户的python。或者您可以使用/opt/anaconda3/bin/python代替python

确保路径的权限和所有者很好,且用户之间没有冲突。