作業メモ

エラーの内容

構文エラー

[root@localhost ~]# yum search python
  File "/bin/yum", line 30
    except KeyboardInterrupt, e:
                            ^
SyntaxError: invalid syntax

原因

デフォルトはpython2.7でした。
追加でpython3.5をインストールし、/usr/bin/pythonのシンボリックリンクをpython3.5に付け替えてしまったために起きた。
先頭の「#!/usr/bin/python」 1の記述
もともとはpython2.7へのシンボリックリンクでしたが、3.5をインストールした際に勝手に付け替えてしまったために2系で記述されたpythonスクリプトが3.5の構文に合致しなくなってしまいました。

#!/usr/bin/python
import sys
try:
    import yum

修正

1.リンクの貼り直し
2./bin/yumの修正
どちらでも解決できますが、他にも同じ原因で発生するエラーが有ると個別で対応するのも面倒なので、リンクの貼り直しを行います

1.リンクの貼り直し

[root@localhost ~]# ll /usr/bin/python*
lrwxrwxrwx. 1 root root   24 Dec  4 21:59 /usr/bin/python -> /usr/local/bin/python3.5
lrwxrwxrwx. 1 root root   18 Dec  4 20:36 /usr/bin/python2 -> /usr/bin/python2.7
-rwxr-xr-x. 1 root root 7136 Nov 19  2015 /usr/bin/python2.7

### ↓修正後↓ ###
[root@localhost ~]# ll /usr/bin/python*
lrwxrwxrwx. 1 root root   18 Dec  4 22:08 /usr/bin/python -> /usr/bin/python2.7
-rwxr-xr-x. 1 root root 7136 Nov 19  2015 /usr/bin/python2.7
lrwxrwxrwx. 1 root root   24 Dec  4 22:08 /usr/bin/python3 -> /usr/local/bin/python3.5

2./bin/yumの修正

以下のように修正。
python -> python2
に書き換える

#!/usr/bin/python2

Notes:

  1. shebang って言う名前なのですね。調べて知った。