Python2からPython3.x系へのアップデート
pyenvを使用してアップデートする
起動しているDockerのコンテナのシェルにログインする
NAMEには起動中のコンテナIDかNameを指定すること
$ docker exec -it NAME /bin/bash
パッケージのインストール
最初にapt-getを更新する
apt-get upgrade
パッケージをインストール
apt-get install git gcc make openssl libssl-dev libbz2-dev libreadline-dev libsqlite3-dev
pyenvをインストールする
git clone git://github.com/yyuu/pyenv.git ~/.pyenv
環境変数を設定するecho $SHELL で使用しているシェルを確認し、そのシェルに以下を追加する
下の例だとbashを使用していたのでvi ~/.bashrcかvim ~/.bashrcにて追加した
export PYENV_ROOT=$HOME/.pyenv
export PATH=$PYENV_ROOT/bin:$PATH
eval "$(pyenv init -)"
追加したら読み込み、whichでパスが出ることを確認する
source ~/.bashrc
which pyenv
Pythonの別のバージョンのインストール
pyenv install -lにてインストール可能なバージョンを確認する
欲しいバージョンがあったらそれをインストールする
ここでは例として3.6.1をインストールしてみる
pyenv install 3.6.1
# インストールされたかを確認する
pyenv versions
インストールが無事完了したら
pyenv global 3.6.1で使用するpythonのバージョンを切り替える
他のバージョンをインストールしたらそのバージョンを指定することpython -Vで指定したバージョンが出力されることを確認する
最後に、アップデートした状態をDockerを保存する。
ローカルでdocker psで、起動しているDockerコンテナ一覧を取得する。
$ docker ps
コンテナIDをコピーし、下記のコマンドで変更をコミットする
$ docker commit -m "update the python2 to python3" 19627749df78 tensorflow_python3
| 引数 | 意味 |
|---|---|
| -m "update the python2 to python3" | 好きなコメントを記載 |
| 19627749df78 | docker psで確認した各自のCONTAINER ID |
| tensorflow_python3 | 任意のdockerイメージの名前 |