yum コマンドを使おうとするとエラーが出て失敗する事象が発生しました。環境はAmazon Linux2 です。
root # yum --update
File "/bin/yum", line 30
except KeyboardInterrupt, e:
^
SyntaxError: invalid syntax
root #
どうやら原因は pythonのデフォルトバージョンをpython3に変更したことが原因のようです。
※参考:AmazonLinux 2 に python 3をインストール
- yumのスクリプトはpython2で書かれている
- デフォルトのpythonのバージョンをpython2 からpython3に変更した
- yumのスクリプトをpython3で動かそうとして失敗した
ということで解決方法は以下の3つのいずれかになりますが、3は非現実的なので2にしました。
3の選択肢は非現実的なので、2で修正しました。
修正手順
1. /usr/bin/yumの修正
一行目にどの言語でプログラムを動かすかの指定がありますが、ここをpython2に変更します。「python」だけだと、デフォルトのpython3が使われるからです。
変更前
#!/usr/bin/python
変更後
#!/usr/bin/python2
2. /usr/libexec/urlgrabber-ext-downの修正
これも同様です。
変更前
#!/usr/bin/python
変更後
#!/usr/bin/python2
コメント