makotton.com

Amazon EC2にpyenv環境を構築する

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので十分ご注意ください。

以前書いた
MacOSXにbrewでpyenvをインストールする
pyenvでPythonの指定のバージョンをインストールする
と関連しますが、ここではOSXではなくEC2側にpyenv環境構築し、バージョンを切り替える方法を書いておきます。

■前提条件

・Amazon Linux
・2016/05/20現在の情報

■手順

(1) 依存ライブラリのインストール
[bash gutter=”0″]
$ sudo yum -y install gcc gcc-c++ make git openssl-devel bzip2-devel zlib-devel readline-devel sqlite-devel
Loaded plugins: priorities, update-motd, upgrade-helper
Package 1:make-3.82-21.10.amzn1.x86_64 already installed and latest version
Resolving Dependencies
–> Running transaction check
—> Package bzip2-devel.x86_64 0:1.0.6-8.12.amzn1 will be installed
・・・
Dependency Installed:
cpp48.x86_64 0:4.8.3-9.109.amzn1 gcc48.x86_64 0:4.8.3-9.109.amzn1
gcc48-c++.x86_64 0:4.8.3-9.109.amzn1 glibc-devel.x86_64 0:2.17-106.167.amzn1
glibc-headers.x86_64 0:2.17-106.167.amzn1 kernel-headers.x86_64 0:4.4.10-22.54.amzn1
keyutils-libs-devel.x86_64 0:1.5.8-3.12.amzn1 krb5-devel.x86_64 0:1.13.2-12.40.amzn1
libcom_err-devel.x86_64 0:1.42.12-4.40.amzn1 libgomp.x86_64 0:4.8.3-9.109.amzn1
libmpc.x86_64 0:1.0.1-3.3.amzn1 libselinux-devel.x86_64 0:2.1.10-3.22.amzn1
libsepol-devel.x86_64 0:2.1.7-3.12.amzn1 libstdc++48-devel.x86_64 0:4.8.3-9.109.amzn1
libverto-devel.x86_64 0:0.2.5-4.9.amzn1 mpfr.x86_64 0:3.1.1-4.14.amzn1
ncurses-devel.x86_64 0:5.7-3.20090208.13.amzn1 perl-Error.noarch 1:0.17020-2.9.amzn1
perl-Git.noarch 0:2.7.4-1.47.amzn1 perl-TermReadKey.x86_64 0:2.30-20.9.amzn1

Complete!
[/bash]

(2) pyenvのインストール
[bash gutter=”0″]
$ git clone https://github.com/yyuu/pyenv.git ~/.pyenv
Cloning into ‘/home/*******/.pyenv’…
remote: Counting objects: 12653, done.
remote: Compressing objects: 100% (13/13), done.
remote: Total 12653 (delta 2), reused 0 (delta 0), pack-reused 12639
Receiving objects: 100% (12653/12653), 2.25 MiB | 722.00 KiB/s, done.
Resolving deltas: 100% (8774/8774), done.
Checking connectivity… done.
[/bash]

(3) .bashrcの編集
[bash gutter=”0″]
$ vi ~/.bashrc
[/bash]

[bash]
export PYENV_ROOT="${HOME}/.pyenv"
if [ -d "${PYENV_ROOT}" ]; then
export PATH=${PYENV_ROOT}/bin:$PATH
eval "$(pyenv init -)"
fi
[/bash]
上記を最後部に追加して保存。

[bash gutter=”0″]
$ source ~/.bashrc
[/bash]
.bashrcを反映させる。

(4) インストール可能なPythonバージョンの確認
[bash gutter=”0″]
$ pyenv install –list
Available versions:
2.1.3
2.2.3
2.3.7
2.4
2.4.1
2.4.2
2.4.3
2.4.4
2.4.5
・・・
3.3-dev
3.3.1
3.3.2
3.3.3
3.3.4
3.3.5
3.3.6
3.4.0
3.4-dev
3.4.1
3.4.2
3.4.3
3.4.4
3.5.0
3.5-dev
3.5.1
3.6.0a1
3.6-dev
anaconda-1.4.0
anaconda-1.5.0
anaconda-1.5.1
anaconda-1.6.0
・・・
[/bash]

(5) 指定バージョンのPythonをインストール
[bash gutter=”0″]
$ pyenv install 3.4.4
Downloading Python-3.4.4.tgz…
-> https://www.python.org/ftp/python/3.4.4/Python-3.4.4.tgz
Installing Python-3.4.4…
Installed Python-3.4.4 to /home/*******/.pyenv/versions/3.4.4
[/bash]
例として3.4.4をインストールします。

(6) pyenv-pip-rehashのインストール
[bash gutter=”0″]
$ git clone https://github.com/yyuu/pyenv-pip-rehash.git ~/.pyenv/plugins/pyenv-pip-rehash
[/bash]

ここまでで基本的な準備はOKです。

[adsense]

使用するPythonのバージョン指定は以下のように行います。
[bash gutter=”0″]
$ pyenv global 3.4.4
[/bash]
ここでは先ほどインストールした3.4.4を指定しています。ちなみに、システムにインストールされているPythonを指定する場合は、
[bash gutter=”0″]
$ pyenv global system
[/bash]
これでOKです。

モバイルバージョンを終了