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

追記

環境構築スクリプトを使えば、Python3.6.7を自動でインストールできます

タイトルの通りなのですが、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をつける

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

個人支援・寄付について

サイトラボでは個人支援・寄付を受けております。ご協力いただける方はお願いいたします。当サイトではビットコインで受け付けております。

  • ビットコイン:3LHnADwZwUbic2L45EnVJEykiG6KfbqrwS