Python開発の勉強(2) CentOS7へPython3のインストール
はじめに
前回、Pythonを動かすための開発環境サーバをVagrantで作成しました。
今回は、開発環境サーバへPython3のインストールを行います。
なお、CentOS7にはPython2がインストールされています。標準リポジトリにもPython2のみ存在します。
しかし、世の中的には現行バージョンのPython3が主流となっています。
そのため、新たにPython3をインストールし、2つのバージョンを同居させる方針とします。
前提条件
- 開発環境サーバは、CentOS 7.6.1810を使用します。
- インストールするPythonは、IUSリポジトリ版のPython 3.6.8を使用します。
- 作業は、rootユーザで実施します。
開発環境サーバへのログイン
まずは、作業端末から開発環境サーバへログインします。
$ cd ~/vagrant/centos7
$ pwd
/Users/user01/vagrant/centos7
$ vagrant ssh
IUSリポジトリの追加
Python3系のRPMをインストールできるよう、IUSリポジトリを追加します。
EPELリポジトリが未追加の場合、この時合わせて追加されます。
# yum -y install https://centos7.iuscommunity.org/ius-release.rpm
(略)
Dependencies Resolved
==============================================================================================================================
Package Arch Version Repository Size
==============================================================================================================================
Installing:
ius-release noarch 2-1.el7.ius /ius-release 4.5 k
Installing for dependencies:
epel-release noarch 7-11 extras 15 k
Transaction Summary
==============================================================================================================================
Install 1 Package (+1 Dependent package)
(略)
Installed:
ius-release.noarch 0:2-1.el7.ius
Dependency Installed:
epel-release.noarch 0:7-11
Complete!
Pythonパッケージインストール
Python本体と、関連するパッケージをインストールします。
IUSリポジトリのPython3.6パッケージをインストールする場合、パッケージ名はpython36uとなります。
# yum -y install python36u python36u-devel python36u-pip
(略)
Dependencies Resolved
==============================================================================================================================
Package Arch Version Repository Size
==============================================================================================================================
Installing:
python36u x86_64 3.6.8-1.el7.ius ius 58 k
python36u-devel x86_64 3.6.8-1.el7.ius ius 841 k
python36u-pip noarch 9.0.1-1.ius.el7 ius 1.8 M
Installing for dependencies:
python36u-libs x86_64 3.6.8-1.el7.ius ius 8.9 M
python36u-setuptools noarch 39.0.1-1.ius.el7 ius 643 k
Transaction Summary
==============================================================================================================================
Install 3 Packages (+2 Dependent packages)
(略)
Installed:
python36u.x86_64 0:3.6.8-1.el7.ius python36u-devel.x86_64 0:3.6.8-1.el7.ius python36u-pip.noarch 0:9.0.1-1.ius.el7
Dependency Installed:
python36u-libs.x86_64 0:3.6.8-1.el7.ius python36u-setuptools.noarch 0:39.0.1-1.ius.el7
Complete!
バージョン確認
インストールしたPythonのバージョン確認を行います。
Python3は、Python2と区別するためにコマンド名にもバージョンを付ける必要があるので注意してください。
下記のように表示されればインストール完了です。
# python3.6 --version
Python 3.6.8
バージョン同居の注意事項
今回の作業で、システム上にはPython2とPython3の2バージョンが同居することになります。
CnetOS7に標準でインストールされているPython2は、yumなどのシステム上で使用するコマンドと依存関係があります。
そのため、Python3の実行コマンドをシンボリックリンクでpython
としたり、Python2を削除しないようにしてください。
前述の行為をしてしまうと、システムが正常に動作しなくなります。
まとめ
CentOS7上に、Python3をインストールしました。
- CentOS7は標準でPython2がインストールされているので、新たにPython3をインストールする必要があります。
- Python3は、IUSリポジトリからインストールします。
- CentOSのシステム処理にはPython2が使われているので、Python3をインストールした後もPython2は削除してはいけません。