LoginSignup
5
2

More than 3 years have passed since last update.

except KeyboardInterrupt, e:となった時の対応方法

Posted at

事象 : yumをアップデートしようとしたら失敗した

  • 環境 : Cloud9(EC2 instance / Amazon Linux 2)
$ sudo yum -y update
  File "/bin/yum", line 30
    except KeyboardInterrupt, e:
                            ^

原因 : Pythonを2.7から3.7へバージョンしたから

  1. バージョンアップ時にalternativesを使用してバージョンアップを図った
  2. なのでpythonへのリンクが無理やり「2.7」から「3.7」へ付け替えられた

もともとはpython2.7へのシンボリックリンクでしたが、3.5をインストールした際に勝手に付け替えてしまったために2系で記述されたpythonスクリプトが3.5の構文に合致しなくなってしまいました。
pythonバージョンアップによる/bin/yumのsyntaxエラー [except KeyboardInterrupt, e:] – yoseatsu.me

$ ls -la /usr/bin/ | grep python
lrwxrwxrwx  1 root root          24 Dec  7 05:07 python -> /etc/alternatives/python
lrwxrwxrwx  1 root root           9 Nov  6 19:45 python2 -> python2.7
-rwxr-xr-x  1 root root        7048 Aug 27 21:23 python2.7
-rwxr-xr-x  1 root root        1846 Aug 27 21:23 python2.7-config
lrwxrwxrwx  1 root root          16 Nov  6 19:45 python2-config -> python2.7-config
lrwxrwxrwx  1 root root           9 Nov  6 19:57 python3 -> python3.7
-rwxr-xr-x  2 root root        7048 Aug 27 22:02 python3.7
lrwxrwxrwx  1 root root          17 Nov  6 19:57 python3.7-config -> python3.7m-config
-rwxr-xr-x  2 root root        7048 Aug 27 22:02 python3.7m
-rwxr-xr-x  1 root root         173 Aug 27 22:02 python3.7m-config
-rwxr-xr-x  1 root root        3210 Aug 27 21:16 python3.7m-x86_64-config
lrwxrwxrwx  1 root root          16 Nov  6 19:57 python3-config -> python3.7-config
lrwxrwxrwx  1 root root          14 Nov  6 19:45 python-config -> python2-config

対応 : リンクを張りなおす

参考 : yumが壊れたので修理する - Ken01のブログ

「リンクを張りなおす」「スクリプトを修理する」から選ぶようですが
「スクリプトを修理する」は大変そうだし、他でまた問題が出ても嫌だし
ということで「リンクを張りなおす」をする

# alternativesにPython2.7を登録して
$ sudo alternatives --install /usr/bin/python python /usr/bin/python2.7 2

# alternativesでPythonを2.7に変更してpythonのリンクを張りなおす
$ sudo update-alternatives --config python

There are 2 programs which provide 'python'.

  Selection    Command
-----------------------------------------------
 + 1           /usr/bin/python3
*  2           /usr/bin/python2.7

Enter to keep the current selection[+], or type selection number: 2

# yumが動くようになった!
$ sudo yum -y update
Loaded plugins: extras_suggestions, langpacks, priorities, update-motd
amzn2-core                                                                                                                                                                             | 3.7 kB  00:00:00     
amzn2extra-docker                                                                                                                                                                      | 3.0 kB  00:00:00     
...
Complete!
$
5
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
2