yumのSyntaxError「KeyboardInterrupt」「except yum.Errors.RepoError」が出た時の対処法

「yum」インストールした時に以下の「SyntaxError」が出力し、

「yum」がうまくインストールすることが出来ない時があります。

File "/usr/bin/yum", line 30
except KeyboardInterrupt, e:
^
SyntaxError: invalid syntax
File "/usr/libexec/urlgrabber-ext-down", line 28
except OSError, e:
^
SyntaxError: invalid syntax
File "/usr/bin/yum-config-manager", line 133
except yum.Errors.RepoError, e:
^
SyntaxError: invalid syntax

今回はこの「SyntaxError」の対処方法を紹介します。

目次

SyntaxErrorの原因

SyntaxError」の原因は「yum」を実行するPythonが「Python 3.X」だから原因で発生します。

「yum」の起動スクリプトである「/usr/bin/python」を確認します。

ls -l /usr/bin/python 

下のように確認しましょう。

[root@localhost ~]# ls -l /usr/bin/python
lrwxrwxrwx. 1 root root 24 Jul 16 20:40 /usr/bin/python -> /etc/alternatives/python
[root@localhost ~]# ls -l /etc/alternatives/python
lrwxrwxrwx. 1 root root 29 Jul 16 20:40 /etc/alternatives/python -> /usr/local/python/bin/python3

解決方法

「yum」を実行するPythonを「Python 2.X]」系に変更することで解決できます。

/usr/bin/yum」を「Python2.X」系に変更します。

#!/usr/bin/python2.7 
import sys
try:
import yum
except ImportError:
print >> sys.stderr, """\
There was a problem importing one of the Python modules
required to run yum. The error leading to this problem was:

/usr/libexec/urlgrabber-ext-down」を「Python2.X」系に変更します。

#! /usr/bin/python2.7
# A very simple external downloader
# Copyright 2011-2012 Zdenek Pavlas

# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
# version 2.1 of the License, or (at your option) any later version.

/usr/bin/yum-config-manager」を「Python2.X」系に変更します。

#!/usr/bin/python2.7 -tt

import os, os.path
import sys
import re
import yum
sys.path.insert(0,'/usr/share/yum-cli')

参考にしたサイト

MariaDBインストール時にyumが失敗する際に確認すること

実践! CentOS 7 サーバー徹底構築 改訂第二版 CentOS 7(1708)対応posted with ヨメレバ

福田 和宏 ソーテック社 2018-04-21

Amazonで探す

Kindleで探す

楽天ブックスで探す

楽天koboで探す

7netで探す

hontoで探す

e-honで探す

紀伊國屋書店で探す

よかったらシェアしてね!
  • URLをコピーしました!
目次