【问题标题】:Need python 2.7+ but default on system is 2.6需要 python 2.7+ 但系统默认为 2.6
【发布时间】:2016-11-15 23:10:02
【问题描述】:

我下载了一些使用 python 脚本工作的工具。看来我需要 python 2.7+ 才能运行脚本,默认安装的是 2.6,我收到此错误:

AttributeError: 'module' object has no attribute 'check_output'

所以,我下载并安装了 python 2.7,但是我仍然遇到同样的错误。看起来这两个版本是分开的,而不是 2.7 只是一个更新,而 2.6 仍然是默认的。

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

我看不到任何直接运行脚本的方法,也不知道如何解决这个问题。使用 RHEL6

【问题讨论】:

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

标签: python linux python-2.7


【解决方案1】:

除非您知道自己在做什么,否则更改默认的 Python 解释器可能不是一个好主意。您可以尝试为 python 命令设置别名。

alias python="python2.7"

要恢复,只需输入unalias python

【讨论】:

    【解决方案2】:

    我猜你的脚本有

    #!/usr/bin/env python
    

    作为哈希爆炸。

    将脚本的第一行更改为

    #!/usr/bin/env python2.7
    

    鉴于系统上确实提供了 python 2.7。

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

    【讨论】:

      【解决方案3】:

      这样做:

      哪个蟒蛇
      /usr/bin/python

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

      所以你只需要更新/usr/bin/python链接指向你的python 2.7,只要记住如果你使用centos YUM包管理器,它是链接到python的,所以如果你清除你的旧python,yum不会工作。

      【讨论】:

        【解决方案4】:

        ? CentOS 6 ?

        python27 可用:http://vault.centos.org/6.5/SCL/x86_64/python27/

        【讨论】:

          猜你喜欢
          • 2019-06-26
          • 1970-01-01
          • 1970-01-01
          • 2015-03-26
          • 1970-01-01
          • 1970-01-01
          • 2018-04-21
          • 2012-02-04
          • 1970-01-01
          相关资源
          最近更新 更多