运行 sudo python 和 python as SU 使用两个不同的版本

运行 sudo python 和 python as SU 使用两个不同的版本

我知道sudo不会以当前用户身份运行命令,但我不明白为什么以下两个命令会产生不同的输出:

情况1:

user@.../folder$ sudo python
Python 2.7.17 (default, Nov  7 2019, 10:07:09)
[GCC 7.4.0] on linux2
Type "help", "copyright", "credits" or "license" for more information.

案例 2:

user@.../folder$ sudo su
(base) root@.../folder# python
Python 3.7.6 (default, Jan  8 2020, 19:59:22)
[GCC 7.3.0] :: Anaconda, Inc. on linux
Type "help", "copyright", "credits" or "license" for more information.

答案1

您的普通用户与 root 用户拥有不同的 shell 环境。您的第一个命令:

sudo python

是您的常规环境。

user@.../folder$ sudo su
(base) root@.../folder# python

是您的 root 用户环境。尝试在两个环境中执行该命令env,您应该会看到很多差异。不同的 Python 版本可能是由于 $PATH 变量的差异造成的。您可以查看您正在使用的 Python 版本type -a python

相关内容