Python3系にするとyumが使えなくなる

タイトルの通りなのですが、CentOS7にてPythonを3系にをインストールしてリンクを貼り替えたりしました。そうしたらエラーがでました

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

yumが使えない状態となりました。

原因

元々Python2.7で動いていたのを3に変えたためになります。

対処法

リンクを張り直すのがいいかもしれませんが、正直3にしたのを2にするのもなーと思ったのと、yumが使えればいいのでファイルを修正することにしました

yumファイルを修正

[root@localhost /]# vi /bin/yum

#!/usr/bin/python→#!/usr/bin/python2
数字の2をつける

これで終了です。他にも色々問題起きそうですが、、、とりあえずこれでいいかなと思うようにします

試してみる

[root@localhost /]# yum install httpd
読み込んだプラグイン:fastestmirror
Loading mirror speeds from cached hostfile
* elrepo: ftp.yz.yamagata-u.ac.jp
* epel: mirror.dmmlabs.jp
* ius: mirrors.tongji.edu.cn
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ httpd.x86_64 0:2.4.6-80.el7.centos.1 を インストール
--> 依存性の処理をしています: httpd-tools = 2.4.6-80.el7.centos.1 のパッケージ: httpd-2.4.6-80.el7.centos.1.x86_64
--> 依存性の処理をしています: /etc/mime.types のパッケージ: httpd-2.4.6-80.el7.centos.1.x86_64
--> トランザクションの確認を実行しています。
---> パッケージ httpd-tools.x86_64 0:2.4.6-80.el7.centos.1 を インストール
---> パッケージ mailcap.noarch 0:2.1.41-2.el7 を インストール
--> 依存性解決を終了しました。
依存性を解決しました
==============================================================================================================================================================================================================================================
Package                                                  アーキテクチャー                                    バージョン                                                           リポジトリー                                          容量
==============================================================================================================================================================================================================================================
インストール中:
httpd                                                    x86_64                                              2.4.6-80.el7.centos.1                                                updates                                              2.7 M
依存性関連でのインストールをします:
httpd-tools                                              x86_64                                              2.4.6-80.el7.centos.1                                                updates                                               90 k
mailcap                                                  noarch                                              2.1.41-2.el7                                                         base                                                  31 k
トランザクションの要約
==============================================================================================================================================================================================================================================
インストール  1 パッケージ (+2 個の依存関係のパッケージ)
総ダウンロード容量: 2.8 M
インストール容量: 9.6 M
Is this ok [y/d/N]: y
Downloading packages:
File "/usr/libexec/urlgrabber-ext-down", line 28
except OSError, e:
^
SyntaxError: invalid syntax
File "/usr/libexec/urlgrabber-ext-down", line 28
except OSError, e:
^
SyntaxError: invalid syntax
File "/usr/libexec/urlgrabber-ext-down", line 28
except OSError, e:
^
SyntaxError: invalid syntax
ユーザーのキャンセルで終了しています

まだ駄目っぽいです。同じように/usr/libexec/urlgrabber-ext-downファイルを修正します

[root@localhost /]# vi /usr/libexec/urlgrabber-ext-down
#!/usr/bin/python→#!/usr/bin/python2
数字の2をつける

これでインストールできるようになります