AWS
virtualenv
python3
ubuntu16.04

AWS UbuntuへPythonをコンパイルして導入する手順(virtualenv)

概要

  • AWS EC2のAWS提供 Ubuntu AMIへ現時点で最新安定版のPython3.6.3を導入します
    • ターゲットイメージ:Ubuntu Server 16.04 LTS (HVM), SSD Volume Type
  • パッケージではなく、ソースコンパイルします
  • 初期状態でPython2系、Python3系も導入済みのため、virtualenvで環境分離します

ダウンロードページ

ディレクトリ

すべてホーム配下のlocalディレクトリへ配置します。今回は下記のようにしてみました。

Path 内容
~/local/src/Python-3.6.3 ダウンロードしたソースを展開
~/local/lib/Python-3.6.3 ビルドしたモジュール出力先
~/local/p363/ virtualenvが指す場所

手順

  • コマンドを記述します
  • コマンドの実行結果を表現する場合はプロンプト付きでコマンドを記述します

EC2インスタンスを起動します

  • Ubuntu Server 16.04 LTS
    • ターゲットイメージ:Ubuntu Server 16.04 LTS (HVM), SSD Volume Type

必要パッケージインストール

sudo apt update
sudo apt upgrade -y
sudo apt install build-essential zlib1g-dev libssl-dev libffi-dev libsqlite3-dev libreadline-dev libbz2-dev libgdbm-dev liblz-dev tk-dev -y

ソースダウンロードと展開

mkdir -p ~/local/src
cd ~/local/src

wget -qO- https://www.python.org/ftp/python/3.6.3/Python-3.6.3.tgz | tar zxf -

コンパイル準備とコンパイルとインストール

cd Python-3.6.3/
./configure --enable-optimizations --prefix=$HOME/local/lib/Python-3.6.3
make
make install

virtualenvによる配置

~/local/lib/Python-3.6.3/bin/pip3 install virtualenv
~/local/lib/Python-3.6.3/bin/virtualenv --python ~/local/lib/Python-3.6.3/bin/python3 ~/local/p363

確認

activateを実行(source)することでpythonが指す場所が変化、プロンプトにディレクトリ(p363)が表示されます
(戻す時はdeactivate)

$ source ~/local/p363/bin/activate
(p363) $ python --version
Python 3.6.3

ログインスクリプトへ追加

echo 'source ~/local/p363/bin/activate' >> ~/.profile