需要python 2.7+;但系统的默认值是2.6

需要python 2.7+;但系统的默认值是2.6,python,linux,python-2.7,Python,Linux,Python 2.7,我下载了一些使用python脚本的工具。似乎我需要python 2.7+才能运行脚本,默认安装的是2.6,我遇到以下错误: AttributeError: 'module' object has no attribute 'check_output' 因此,我下载并安装了Python2.7,但是仍然出现相同的错误。看起来这两个版本是分开的,而不是2.7只是一个更新,2.6仍然是默认版本 # python --version Python 2.6.6 # python2.7 --version

我下载了一些使用python脚本的工具。似乎我需要python 2.7+才能运行脚本,默认安装的是2.6,我遇到以下错误:

AttributeError: 'module' object has no attribute 'check_output'
因此,我下载并安装了Python2.7,但是仍然出现相同的错误。看起来这两个版本是分开的,而不是2.7只是一个更新,2.6仍然是默认版本

# python --version
Python 2.6.6
# python2.7 --version
Python 2.7.10

我看不到任何直接运行脚本的方法,也不知道如何解决这个问题。除非您知道自己在做什么,否则使用RHEL6更改默认python解释器可能不是一个好主意。您可以尝试使用python命令的别名

alias python="python2.7"
要恢复,只需键入unalias python,请执行以下操作:

哪个python
/usr/bin/python

ls-l/usr/bin/python
/usr/bin/python->python2.7


因此,您只需更新/usr/bin/python链接以指向python 2.7,请记住,如果您使用centos YUM package manager,它链接到python,因此如果您清除旧的python,YUM将无法工作。

我猜您的脚本已经

#!/usr/bin/env python
就像炸土豆条一样

将脚本的第一行更改为

#!/usr/bin/env python2.7
鉴于Python2.7确实在系统上可用

这样,当您从路径运行脚本时,它将在python2.7中运行?CentOS 6


python27
可用:

如何启动脚本?1。不要弄乱系统上的默认Python解释器;2.为什么不能用新的解释器运行代码呢?3.问题可能与版本无关。您是否尝试过更改命令(以
python2.7 scriptname.py执行)或添加一个shebang(将
#!/usr/bin/env python2.7
放在脚本顶部)?试图替换系统Python安装可能会以灾难性的结局结束。