我在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版本,我应该配置什么?
答案 0 :(得分:2)
调用python
意味着在$PATH
环境变量指向的目录中调用此名称的第一个可执行文件。显然,您的不同用户设置了不同的$PATH
变量。我建议查看它们以了解调用哪个可执行文件(可能是/usr/local/bin/python
与/usr/bin/python
或类似的)。要查看您呼叫的内容,请使用type python
一次作为用户,一次使用root
。
要调用特定的Python二进制文件,您可以调用显式完整路径(例如/usr/local/bin/python
)。无论$PATH
变量的值如何,这都将调用相同的可执行文件。
或者,您可以配置帐户,使其在$PATH
变量中具有相同的二进制文件。
此外,您可以尝试拨打python2.7
和python2.6
;许多安装将这些符号链接到相应的二进制文件。
答案 1 :(得分:1)
我建议运行which python
和sudo which python
来确定您正在运行的不同脚本。另见此链接
https://superuser.com/questions/600349/why-sudo-python-and-python-in-terminal-start-two-different-versions-python