CentOS6にPython2.7をインストールする方法
CentOS6系にはデフォルトでPython2.6が入っています。Let’s Encryptを使ったり、Google Cloud Strageを使ったりする時には、Python2.7が要求されるので、インストールしましょう。
[dacelo@space ~]$ cat /etc/redhat-release CentOS release 6.6 (Final) [dacelo@space ~]$ python --version Python 2.6.6
ここで普通にPython2.7をインストールしようとしても、CentOS6の標準レポジトリにはないのでインストールできません。
[dacelo@space ~]$ sudo yum install python27 読み込んだプラグイン:fastestmirror, priorities インストール処理の設定をしています Loading mirror speeds from cached hostfile * base: ty1.mirror.newmediaexpress.com * extras: ty1.mirror.newmediaexpress.com * rpmforge: mirror.fairway.ne.jp * updates: ty1.mirror.newmediaexpress.com 100 packages excluded due to repository priority protections パッケージ python27 は利用できません。 エラー: 何もしません
というわけで、まずは ソフトウェアコレクション(centos-release-scl-rh)のインストールを実行します。ソフトウェアコレクションとは、Red Hat Enterprise Linux(RHEL)とは別のライフサイクルで、安定した最新バージョンのソフトウェアをインストールする方法として提供されているものです。これで、2.6とは別に2.7をインストールする(共存させる)ことができます。
[dacelo@space ~]$ sudo yum install centos-release-scl-rh 読み込んだプラグイン:fastestmirror, priorities インストール処理の設定をしています Loading mirror speeds from cached hostfile * base: ty1.mirror.newmediaexpress.com * extras: ty1.mirror.newmediaexpress.com * rpmforge: mirror.fairway.ne.jp * updates: ty1.mirror.newmediaexpress.com 100 packages excluded due to repository priority protections 依存性の解決をしています --> トランザクションの確認を実行しています。 ---> Package centos-release-scl-rh.noarch 0:2-4.el6.centos will be インストール --> 依存性解決を終了しました。 (略) インストール: centos-release-scl-rh.noarch 0:2-4.el6.centos 完了しました!
これで晴れてPython2.7をインストールできます。
[dacelo@space ~]$ sudo yum install python27 読み込んだプラグイン:fastestmirror, priorities インストール処理の設定をしています Loading mirror speeds from cached hostfile * base: ty1.mirror.newmediaexpress.com * centos-sclo-rh: ty1.mirror.newmediaexpress.com * extras: ty1.mirror.newmediaexpress.com * rpmforge: mirror.fairway.ne.jp * updates: ty1.mirror.newmediaexpress.com centos-sclo-rh | 2.9 kB 00:00 centos-sclo-rh/primary_db | 1.4 MB 00:00 112 packages excluded due to repository priority protections 依存性の解決をしています (略) 依存性を解決しました (略) 総ダウンロード容量: 22 M インストール済み容量: 87 M これでいいですか? [y/N]y パッケージをダウンロードしています: (略) 合計 29 MB/s | 22 MB 00:00
途中、RPMパッケージにGnuPGを使った署名が行われていないという旨の警告が出るのですが、インストールに支障はないと判断して先へ進めます。
警告: rpmts_HdrFromFdno: ヘッダ V4 RSA/SHA1 Signature, key ID f2ee9d55: NOKEY Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLo Importing GPG key 0xF2EE9D55: Userid : CentOS SoftwareCollections SIG (https://wiki.centos.org/SpecialInterestGroup/SCLo) <security@centos.org> Package: centos-release-scl-rh-2-4.el6.centos.noarch (@extras) From : /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLo これでいいですか? [y/N]y rpm_check_debug を実行しています トランザクションのテストを実行しています トランザクションのテストを成功しました トランザクションを実行しています インストールしています : xml-common-0.6.3-33.el6.noarch 1/24 (略) インストール: python27.x86_64 0:1.1-25.el6 依存性関連をインストールしました: (略) 完了しました!
この状態でも、デフォルトでは2.6が読み込まれています。
[dacelo@space ~]$ python --version Python 2.6.6
SCLを有効にしてBashを再読み込みすると、Python2.7が使えます。
[dacelo@space ~]$ scl enable python27 bash [dacelo@space ~]$ python --version Python 2.7.16
しかし毎回こんな事してられないので、profile.dにシンボリックリンクを登録して、常にPythonは2.7がデフォルトで起動するようにします。
広告
[dacelo@space ~]$ sudo ln -s /opt/rh/python27/enable /etc/profile.d/python27.sh
これで新しくログインすれば、常にPython2.7が使用できます。