CentOS7にpyenvを使ってPython3 をインストールする方法

python3-centos7

Mac上にVagrant(ベイグラント)、VirtualBox(バーチャルボックス)で構築した、仮想マシン上にPython 3をインストールする方法を説明します。
Pythonのバージョン切替も行うため、バージョン管理ツールpyenvもインストールしています。

仮想環境を構築する方法については、「Vagrant(ベイグラント)とVirtualBox(バーチャルボックス)でMacローカル開発環境を構築する方法」を確認してください。

環境

CentOS Linux release 7.1.1503 (Core)
CentOS

構築する環境

  • CentOS Linux release 7.1.1503 (Core)
  • Python3.6.1
  • pyenvでPythonのバージョン切替可能にする

CentOS7にPython3 をインストールする手順

CentOS7にPython3 をインストールするには、おおまかには以下の流れで行います。

  1. 仮想マシンの起動、ログイン
  2. 依存関係のあるパッケージをインストール
  3. Python3のバージョン切替ツールpyenvのインストール
  4. バージョン切替ツールpyenvでPython3系をインストール

仮想マシンの起動、ログイン

ターミナル、もしくはiTurm2を起動します。
(ターミナルの場所:アプリケーション➔ユーティリティ)

仮想マシンを管理しているフォルダに移動します。

cd  vagrant/centos.7.0

Vagrant起動をします。

vagrant up

仮想マシンにログインします。

vagrant ssh

プロンプトの表示が以下に変わったら仮想マシンにログインできています。

[vagrant@localhost ~]$

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

以降の処理は仮想マシンにログインした上で実行します。

Pythonのバージョンの確認

CentOS7にはデフォルト(初期状態)でpython2系が入っています。
まずは、現在のバージョンを確認してみましょう。
コマンドは「python –version」か「python -V」を使います。

[vagrant@localhost ~]python --version
Python 2.7.5

「Python 2.7.5」インストールがされていることが確認できました。
今回は、最新版のPython 3系をインストールしていきます。

依存関係をインストール

パッケージ管理ツール「yum」を使って、必要な依存関係をインストールします。
「yum」はcentosに予めインストールされています。

[vagrant@localhost ~]sudo yum install gcc zlib-devel bzip2 bzip2-devel readline readline-devel sqlite sqlite-devel openssl openssl-devel git

少し待った後、以下が表示されたら、「y」と入力し、enterキーを押します。

Is this ok [y/d/N]:y

インストールが開始されるので、処理を待ちます。
「完了しました!」と表示されればOKです。

バージョン管理ツールpyenvのインストール

複数のPythonのバージョンの切替ができるようにしたいため、バージョン管理ツールpyenvをインストールします。
「pyenv」の読み方は「ピーワイエンブ」や「パイエンブ」です。
pyenvとは、複数のバージョンのPythonのインストールや切替ができるツールです。
pyenvでは3系の中でも「3.6.1」➔「3.6.2」というように細かいバージョンの切替もできます。
また、ディレクトリごとにpythonのバージョンを切り替えることもできます。

pyenvのインストール

pyenvをインストールするには、以下のコマンドを実行します。
ソースコード管理サービスGit(ギット)からpyenvのプログラムをクローン(複製)します。

[vagrant@localhost ~]git clone https://github.com/yyuu/pyenv.git ~/.pyenv

コマンド実行後、「Resolving deltas: 100% (10461/10461), done.」と表示さればpyenvがうまく導入できています。

 

bash_profileに環境変数を記述

pyenvコマンドが使えるようにするために、環境変数にパスを通します。
以下のコマンドを実行し「vim」 エディタで「.bash_profile」に書き込んでいきます。

[vagrant@localhost ~]vim .bash_profile

すると、テキストエディタ「vim」が起動します。
「vim」の起動時は、ノーマルモードです。
ファイルに記入するためにはキーボードの「i」キーを押して、ノーマルモードからインサートモードに切り替えます。

下記を記入します。

export PYENV_ROOT="$HOME/.pyenv"
 export PATH="$PYENV_ROOT/bin:$PATH"
 eval "$(pyenv init -)"

記入が完了したら、キーボードの「control + C」を入力して、インサートモードからノーマルモードに切り替えます。
キーボードの「:wq」を押して、保存して終了します。
すると、「vim」が閉じられ元のターミナルの画面に戻ります。

次に以下↓のコマンドで「bash_profile」の再読込を行います。

[vagrant@localhost ~]source .bash_profile

パス設定がうまくできているか確認します。
次↓のように出力されればOKです。

[vagrant@localhost ~]pyenv version
 system (set by /home/vagrant/.pyenv/version)

Python3系をインストール

それでは、Python3系をインストールしていきましょう。

インストールできるバージョンを一覧表示

先程インストールたpyenvを使い、インストールできるPythonのバージョンを以下↓のコマンドで確認します。

[vagrant@localhost ~]pyenv install --list

コマンドを実行すると、インストールできるPythonバージョンが一覧で表示されます。
この時点で最新の安定版は、バージョンは「3.6.2」です。
「3.7-dev」のように後ろに「-dev」がついているのは開発版であることは表します。

[vagrant@localhost ~]pyenv install --list
 Available versions:
 2.1.3
 2.2.3
 2.3.7
 ・
 ・
 ・
 3.6.1
 3.6.2
 3.7-dev

Python3.6.2をインストール

今回は、pyenvでPython「3.6.2」をインストールします。以下↓のコマンドを実行します。

[vagrant@localhost ~]pyenv install 3.6.2

すると、「Installing Python-3.6.2…」まで表示されたところで処理が止まり、 ここから少し時間がかかるので待ちます。

[vagrant@localhost ~]pyenv install 3.6.2
ownloading Python-3.6.2.tar.xz...
-> https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tar.xz
Installing Python-3.6.2...

以下↓のように「Installed Python-3.6.2 to〜」と表示されれば、Pythonのインストールは完了です。

[vagrant@localhost ~]pyenv install 3.6.2
Downloading Python-3.6.2.tar.xz...
-> https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tar.xz
Installing Python-3.6.2...
Installed Python-3.6.2 to /home/vagrant/.pyenv/versions/3.6.2

pythonのバージョンを確認

「pyenv versions」コマンド↓でインストール済のpythonのバージョンの一覧を確認してみましょう。

[vagrant@localhost ~]pyenv versions
* system (set by /home/vagrant/.pyenv/version)
 3.6.2

「*」印がついているのは、現在選択されているPythonのバージョンを表します。
「system」は、最初に確認した標準でインストールされているPython 2.7.5を表します。
Pythonの「3.6.2」はインストールできていますが、「system(Python 2.7.5)」が選択されている状態です。

python3.6.2に切り替え

今回新たにインストールした、「python3.6.1」にバージョンを切り替えます。
「pyenv global」コマンドを使ってバージョン切替をシステム全体に反映します。

[vagrant@localhost ~]pyenv global 3.6.2

コマンドを実行にしても、画面上は特に何も表示されないので、
エラーメッセージ等が出ていないければ、そのまますすめます。

次に「pyenv rehash」コマンドを実行します。

[vagrant@localhost ~]pyenv rehash

これも、コマンドを実行しても、特になにも表示されません。
エラーメッセージがでなければOKです。

インストール済みのバージョン一覧確認

再度、「pyenv versions」コマンドでインストール済みのpythonのバージョン一覧を確認します。

[vagrant@localhost ~]pyenv versions
 system
* 3.6.2 (set by /home/vagrant/.pyenv/version)

「pythonのバージョン3.6.2」の左横に「*」がついているので切り替わったことが確認できました。

「python -V」コマンドでもバージョンを確認してみましょう。

[vagrant@localhost ~]python -V
Python 3.6.2

Python のバージョンが「3.6.2」になっていることが確認できます。

pyenvでpythonのバージョンを切り替える方法

はじめに説明したように「pyenv」ではバージョンの切替ができます。
pythonを元のバージョンに戻す方法についても説明しておきます。
「pyenv global」の後に「system」を指定すると、デフォルトでインストールされていたバージョン2.7.5に戻ります。

[vagrant@localhost ~]pyenv global system

バージョン確認すると、「2.7.5」に切り替わったことが確認できます。

[vagrant@localhost ~]python --version
Python 2.7.5

再び、「pyenv global 3.6.2」を実行すれば、
バージョンは「3.6.2」に切り替わります。

このように、pyenvを使って、pythonの2系3系のバージョンを自在に切り替えることができます。

まとめ

CentOS7 にPython 3 をインストールする手順について解説しました。
Pythonのバージョンを切替ができるよう、「pyenv」の使い方も合わせて覚えておきましょう。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です