python有不同用户的多个版本

时间:2015-04-14 20:13:48

标签: python python-2.7

我在sudo运行我的python脚本,它抛出一个异常,然后我发现python版本不同如下,我使用的是CentOS 6:

[haifzhan@home]$ sudo python --version
Python 2.6.6
[haifzhan@home]$ sudo su -
[root@home ~]# python --version
Python 2.7.5
[haifzhan@home]$ python --version
Python 2.7.5

当我以root或用户名登录时,python版本为2.7,但是当我使用sudo运行时,它是2.6。

任何人都可以告诉我如何将它们全部安装到2.7版本,我应该配置什么?

2 个答案:

答案 0 :(得分:2)

调用python意味着在$PATH环境变量指向的目录中调用此名称的第一个可执行文件。显然,您的不同用户设置了不同的$PATH变量。我建议查看它们以了解调用哪个可执行文件(可能是/usr/local/bin/python/usr/bin/python或类似的)。要查看您呼叫的内容,请使用type python一次作为用户,一次使用root

要调用特定的Python二进制文件,您可以调用显式完整路径(例如/usr/local/bin/python)。无论$PATH变量的值如何,这都将调用相同的可执行文件。

或者,您可以配置帐户,使其在$PATH变量中具有相同的二进制文件。

此外,您可以尝试拨打python2.7python2.6;许多安装将这些符号链接到相应的二进制文件。

答案 1 :(得分:1)

我建议运行which pythonsudo which python来确定您正在运行的不同脚本。另见此链接 https://superuser.com/questions/600349/why-sudo-python-and-python-in-terminal-start-two-different-versions-python