「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