File “/usr/bin/yum“, line 30 except KeyboardInterrupt, e: python版本问题造成的yum运行失败解决方法

目录

  • File "/usr/bin/yum", line 30 yum安装软件时候报告的一个问题
  • File "/usr/libexec/urlgrabber-ext-down", line 28 yum安装软件时候报告的另一个问题
  • python和yum版本不一致问题总结
  • File “/usr/bin/yum”, line 30 yum安装软件时候报告的一个问题

    File “/usr/bin/yum”, line 30
    except KeyboardInterrupt, e:
    ^^^^^^^^^^^^^^^^^^^^
    SyntaxError: multiple exception types must be parenthesized

    这个问题是python版本问题造成的语法格式错误,需要指定正确的python版本的路径,在本例中,是在文件yum的第一行 /usr/bin/python 改为 /usr/bin/python2.7 。
    再次执行yum,还是会报错:

    Traceback (most recent call last):
    File “/usr/bin/yum”, line 4, in < module>
    import yum
    ModuleNotFoundError: No module named ‘yum’

    During handling of the above exception, another exception occurred:

    Traceback (most recent call last): File “/usr/bin/yum”, line 6, in
    < module>
    print >> sys.stderr, “”"\ TypeError: unsupported operand type(s) for >>: ‘builtin_function_or_method’ and
    ‘_io.TextIOWrapper’. Did you mean “print(< message>,
    file=<output_stream>)”?

    解决办法:在yum文件的第30行,将该语句

    except KeyboardInterrupt, e:

    改为:

    except KeyboardInterrupt as e:

    File “/usr/libexec/urlgrabber-ext-down”, line 28 yum安装软件时候报告的另一个问题

    File “/usr/libexec/urlgrabber-ext-down”, line 28
    except OSError, e:
    ^^^^^^^^^^
    SyntaxError: multiple exception types must be parenthesized

    由于用户取消而退出
    python 2.x
    也是同样的python版本问题引起的。解决办法如下:
    找到/usr/libexec/urlgrabber-ext-down 文件的第一行,修改python路径,改为 /usr/bin/python2.7

    然后,找到第28行,修改:

    except OSError, e:

    , 改为

    except OSError as e:

    python和yum版本不一致问题总结

    yum是用python作为解释器。
    python升级容易引起yum问题。
    常见的解决办法是在bash脚本文件里指定版本,以及修改某些不兼容的语法。
    Centos 7.x版本对应的python版本通常是python2.7 。

    作者:chinavas

    物联沃分享整理
    物联沃-IOTWORD物联网 » File “/usr/bin/yum“, line 30 except KeyboardInterrupt, e: python版本问题造成的yum运行失败解决方法

    发表回复