我的服务器一开始安装的是 python 2.6。然后我下载了 python 2.7,并使用 make 和 make altinstall 进行安装。当我在终端中尝试 python 时,它会打开 python 2.7,但 sudo python 会打开 2.68。所有命令(如 virtualenv pip)都使用 python 2.68
答案1
因为sudo XYZ
基本上意味着“以其他用户身份运行 XYZ(默认为 root)”。该用户可能拥有一组不同的环境变量,包括$PATH
。
为了证实这一点,请比较以下输出:
env | grep PATH
sudo env | grep PATH
答案2
用户的python版本:
~> python --version
Python 3.6.2 :: Continuum Analytics, Inc.
SUDO的python版本:
~> sudo python --version
Python 2.7.13
如果您想在使用 sudo 时执行相同版本的 python,您可以尝试:
~> sudo env "PATH=$PATH" python --version
Python 3.6.2 :: Continuum Analytics, Inc.
答案3
which python
检查和的输出sudo which python
,它们应该不同。如果是这样,请检查您的$PATH
root 和普通用户,正如其他人所指出的那样。
答案4
按照建议,检查您的路径。如果不起作用,请检查您.bashrc
的主目录中的路径。使用不同 python 版本的标准方法是/usr/local/bin/python2.7
在.bashrc