EC2を立ち上げてPython3系のvirtualenv有効化までの手順をメモ。
正直クラウドや仮想化の時代に複数バージョンを同居させる意味はあまりないので、
python3系だけでいいならPython Japanのやり方が楽でいいですね。
環境
AmazonLinux2 (インスタンス立ち上げ直後で実施)
pyenvインストール
# 関連ライブラリをヤムる
sudo yum update -y
sudo yum -y install git readline-devel zlib-devel bzip2-devel sqlite-devel openssl-devel
sudo yum -y groupinstall "Development Tools"
# pyenvとvirtualenvを持ってくる
git clone https://github.com/yyuu/pyenv.git /home/ec2-user/.pyenv
git clone https://github.com/yyuu/pyenv-virtualenv.git /home/ec2-user/.pyenv/plugins/pyenv-virtualenv
# 環境変数にpyenvを追加(viで書いてもOK)
echo 'export PYENV_ROOT="/home/ec2-user/.pyenv"' >> /home/ec2-user/.bash_profile
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> /home/ec2-user/.bash_profile
echo 'eval "$(pyenv virtualenv-init -)"' >> /home/ec2-user/.bash_profile
echo 'eval "$(pyenv init -)"' >> /home/ec2-user/.bash_profile
# bashリロード
source /home/ec2-user/.bash_profile
exec $SHELL -l
Python3.6.4インストール
# インストールできるバージョンの確認
pyenv install -l | less
# 今回はこれを入れる
pyenv install 3.6.4
# virtualenv作成
pyenv virtualenv 3.6.4 v364
# virtualenvが作成されたことを確認
pyenv versions
### 各自、virtualenvを有効化したい場所に移動
# 有効化
pyenv local v364
# プロンプトがこんな感じになったら成功
# (v364) [ec2-user@pyv364]$
# この状態からpipなども使えるようになる
その他メモ
ec2-user以外にもpyenvを使わせたい場合
インストール先を/home/ec2-user/.pyenv
を/usr/local/.pyenv
あたりに変更する。
環境変数の設定は/home/ec2-user/.bash_profile
でなく/etc/profile
にしておく。
cloneするときにディレクトリを~/.pyenv
で指定したら、ホームディレクトリに~
という変なディレクトリができていて若干ハマった。
最近だとeasy_install virtualenv
というコマンドで一発らしいがそれも試してみたいところ。
以上、お疲れ様でした。