Vagrant + CentOS7 + pyenv + Python3 環境構築

Mac上の Vagrantに CentOS7環境を用意して Pythonの開発環境を構築します。

root権限でpyenvに入れるケースになります。root権限でない場合はこちらを参照。

VagrantでCenOS7仮想環境を構築

こちらのブログを参考に Vagrant上に CentOS7環境を構築する。
vagrant cloudに登録されてるvagrant imageを取得し、仮想環境を立ち上げてログインする。

vagrant init kogurek1/centos72_64_min
vagrant up
vagrant ssh

OSを最新版にしておきます。

sudo yum update

pyenvインストール

pyenvは Pythonのバージョンを管理するツールです。
Python2系、3系の切り替えや、Anacondaへの変更も簡単にできます。

まず、pyenvに必要なライブラリをインストールします。

sudo yum install git zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel openssl-devel

pyenvは githubから取得します。
今回は /usr/localディレクトリに root権限で配置します。

cd /usr/local
sudo git clone https://github.com/yyuu/pyenv.git ./pyenv

pyenvにパス通し、pyenvコマンドが使えるようにします。

sudo vi /etc/profile.d/pyenv.sh
export PYENV_ROOT="/usr/local/pyenv"
export PATH="${PYENV_ROOT}/bin:${PATH}"
eval "$(pyenv init -)"

環境変数を再読込みします。
pyenvコマンドが使えるようになります。

exec $SHELL -l

pyenvのバージョンを確認してみます。

pyenv -v

pyenv 1.0.2-48-g41606c4

ただし、 pyenvでインストールする場合は、sudoを付ける必要があります。
sudo時にPATHが引き継がれるようにします。

sudo visudo
#Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin
Defaults env_keep += "PATH"
Defaults env_keep += "PYENV_ROOT"

Python3インストール

まず、pyenvでインストールできるバージョンを確認しましょう。

pyenv install -l

# 〜省略〜
 3.5.1
 3.5.2

Python単体では 3.5.2が最新でした。
しかし、なぜか 3.5.2のインストールが失敗したため、3.5.1をインストールします。

sudo pyenv install 3.5.1
sudo pyenv rehash

現在有効になっている python環境の確認してみます。

pyenv versions

* system (set by /usr/local/pyenv/version)
  3.5.1

デフォルトで入っている Pythonを使用しているようです。
バージョンを確認すると 2.7.5でした。

python --version

Python 2.7.5

pyenvでインストールした Pythonを指定、グローバルで使うよう設定します。

sudo pyenv global 3.5.1
pyenv versions
 
 system
* 3.5.1 (set by /usr/local/pyenv/version)

インストールした Pythonのバージョンになっています。

python --version

Python 3.5.1

参考

データサイエンティストを目指す人のpython環境構築 2016

CentOS7 pyenvを利用したpython環境構築

CentOS6.5にpyenvでPython3.4をインストール・開発環境構築

Vagrant上のCentOS7にpyenvでAnaconda(Python3)環境構築

コメント

タイトルとURLをコピーしました