Python 3 を CentOS 7 に yum でインストールする手順

 CentOS 7 には、初期状態で Python 2.7 がインストールされていますが、プロジェクトではもっと新しい Python 3 が必要になる場合があります。 そのような場合に、CentOS 7 に Python 3.x を yum でインストールする手順について解説します。

IUS Community Project の yum リポジトリを利用しよう

 Python 3.x は CentOS 7 の標準 yum リポジトリでは提供されていませんので、別の yum リポジトリから取得する必要があります。 そこで利用したいのが IUS Community Project の yum リポジトリです。 IUS Community Project は、Red Hat Enterprise Linux (RHEL) や CentOS 向けに、できる限り最新のソフトウェアの RPM を提供することを目的としたプロジェクトです。 PHP, MySQL, Python, Apache httpd, rsync, memcached, curl, openssl などのソフトウェアを RPM を提供しています。 この IUS Community Project のリポジトリを CentOS 7 に登録すれば、最新の Python を yum でインストールできるという訳です。

IUS Community Project のリポジトリを追加する

 IUS Community Project の yum リポジトリ自体も yum でインストールします。 次のように yum install コマンドで IUS Community Project が提供している RPM をインストールします。

# yum install -y https://centos7.iuscommunity.org/ius-release.rpm

Python 3.x を検索しよう

 yum が IUS Community Project のリポジトリを参照できるようになったので、さっそく Python 3 を yum search コマンドで検索してみます。

Python 3.4 系を検索してみる場合

# yum search python34

Python 3.5 系を検索してみる場合

# yum search python35

Python 3 をインストールしよう

 ここでは Python 3.5 をインストールしてみましょう。 次のように yum install コマンドで Python 3.5 とその関連パッケージを指定します。

# yum install -y python35u python35u-libs python35u-devel python35u-pip

 インストールが完了したら、念のためインストールされた Python 3.5 のバージョンとインストール先を確認してみましょう。

# python3.5 -V
Python 3.5.2
# which python3.5
/bin/python3.5

 これで Python 3.5 のインストールは完了です。

エイリアスを設定する

 Python のインストールは完了しましたが、Python を実行するためには python3.5 というコマンドを実行しなくてはいけません。 バージョンを指定しない python というコマンドで Python 3.5 を実行したい場合はもうひと工夫必要です。

 Python がインストールされた /bin ディレクトリを ls してみると、次のようになっていることがわかります。

# ls -l /bin/py*
-rwxr-xr-x. 1 root root    78 Sep 15 18:38 /bin/pydoc
-rwxr-xr-x. 1 root root    78 Jun 27 15:04 /bin/pydoc3.5
lrwxrwxrwx. 1 root root     7 Nov 12 21:47 /bin/python -> python2
lrwxrwxrwx. 1 root root     9 Nov 12 21:47 /bin/python2 -> python2.7
-rwxr-xr-x. 1 root root  7136 Sep 15 18:38 /bin/python2.7
-rwxr-xr-x. 2 root root 11304 Jun 27 15:05 /bin/python3.5
lrwxrwxrwx. 1 root root    26 Nov 12 23:12 /bin/python3.5-config -> /usr/bin/python3.5m-config
-rwxr-xr-x. 2 root root 11304 Jun 27 15:05 /bin/python3.5m
-rwxr-xr-x. 1 root root   173 Jun 27 15:04 /bin/python3.5m-config
-rwxr-xr-x. 1 root root  3398 Jun 27 15:02 /bin/python3.5m-x86_64-config
-rwxr-xr-x. 1 root root   230 Jun 27 15:04 /bin/pyvenv-3.5

 つまり python というコマンドは python2 というコマンドにシンボリックリンクが貼られており、更に python2python2.7 にシンボリックリンクが貼られています。

python -> python2 -> python2.7

 このようになっているシンボリックリンクを、次のように変更させてあげられれば python コマンドで Python 3.5 が実行できるようになります。

python -> python3 -> python3.5

 このような理想形になるように、シンボリックリンクを以下のようなコマンドで作り直してあげます。

# ln -s /bin/python3.5 /bin/python3
# unlink /bin/python
# ln -s /bin/python3 /bin/python

 また、同様に pip もシンボリックリンクを設定してあげます。

# ln -s /bin/pip3.5 /bin/pip

 これで python というコマンドで Python 3.5 が実行されるようになったはずです。 試しに次のように python -V コマンドでバージョンを表示してみましょう。 3.5 が実行されたことがわかるでしょう。

# python -V
Python 3.5.2

おわりに

 本稿では Python 3 を CentOS 7 に yum でインストールする方法について解説しました。 皆様の Python ライフのキッカケになれば幸いです。

著者 : OSCA

OSCA

 初級WEBエンジニアです。最近は Android, iOS, WEBアプリの作成に力を入れています。 個人として何か一つでも世の中の多くの人に使ってもらえるアプリを作ろうと日々奮闘中です。