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

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

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

構築する環境

今回は、以下の環境を構築します。

  • Ubuntu 14.04.5
  • Python3.6.1
  • pyenvでPythonのバージョン切替可能にする

Ubutnuとは?

Linuxにはディストリビューションと呼ばれる種類があります。
その中でもサーバーの用途でシェアが大きいのは、次に3つです。

  • Ubuntu 37.4%
  • Debian 31.2%
  • CentOS 20.9%

(Q-Success社の調査、W3Techsによる報告 2017年9月のデータ)

日本では、CentOSが使われる機会が多いのですが、世界的なスタンダードはUbuntuです。
今回は、UbutnuにPython3をインストールする手順を解説します。

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

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

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

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

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

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

cd  vagrant/ubutnu

Vagrant起動をします。

vagrant up

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

vagrant ssh

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

[vagrant@localhost ~]$

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

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

Pythonのバージョンの確認

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

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

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

依存関係をインストール

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

[vagrant@localhost ~]sudo apt-get install git gcc make openssl libssl-dev libbz2-dev libreadline-dev libsqlite3-dev

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

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

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

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

複数のPythonのバージョンの切替もできるようにするためm、バージョン管理ツール「pyenv」をインストールします。
「pyenv」の読み方は「ピーワイエンブ」や「パイエンブ」です。
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系のバージョンを自在に切り替えることができます。

まとめ

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