はじめに
この記事は、Docker上で動かしているUbuntuに好きなバージョンのPythonをインストールする方法を備忘録的にまとめたものです。
Ubuntuに複数バージョン、任意のバージョンのPythonをインストールする方法としてsoftware-properties-common
を使う方法がありますが、社有資産ではプロキシなどの問題でリポジトリにアクセスできないなどの問題がありました。
そこで、Git clone経由でpyenvを使った方法であればうまくインストールできたのでこれを紹介します。
こんな方に参考になればと思います。
- DockerでPythonを使いたいが、特定のバージョンを使いたい
-
software-properties-common
がうまく機能しない - 社有資産でプロキシ、SSLの問題がよく発生している
ポイント
社有デバイスで作業する場合、あらかじめ企業に指定されているプロキシサーバを通してください。
こちらの記事を参考にさせていただきました。大変わかりやすく解説されています。
ubuntu 20.04 / 18.04 に pyenv をインストールする話/@neruoneru
動作確認環境
項目 | |
---|---|
OS | Ubuntu 20.04 |
Shell | Bash |
インストール方法
コンテナに入る
docker attach xxxxxxxxxxxx
パッケージ更新
apt update
apt upgrade
pyenv実行用パッケージをインストール
apt install build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev \
curl llvm libncursesw5-dev tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev \
libopencv-dev git
pyenvをclone
git clone https://github.com/pyenv/pyenv.git ~/.pyenv
カレントディレクトリを移動
cd ~/.pyenv/plugins/python-build
私の環境ではなぜか~/.pyenv/plugins/python-build
に一度に移動できず、cd ~/
、cd .pyenv/
とディレクトリごとに指定すれば移動できました。
pyenvインストール実行
./install.sh
ポイント
インストールには時間がかかるので少し待ちましょう。
これでpyenvが動くようになりました。それでは好きなバージョンのpythonをインストールします。
バージョン指定してpythonをインストール
python-build -v 3.8.6 ~/local/python-3.8.6
これでPython 3.8.6をインストールできましたが、環境変数に通してすぐに呼べるようにします。
環境変数にインストールしたPythonのディレクトリを追加
echo 'export PATH="$HOME/local/python-3.8.6/bin:$PATH"' >> ~/.bashrc
エイリアスを追加
今の時点ではこのPythonを起動するにはpython3
と打つ必要があります。単純なpython
でも起動できるようにエイリアスを設定しておきます。
echo 'alias python="$HOME/local/python-3.8.6/bin/python3"' >> ~/.bashrc
起動確認
念のためコンテナを停止し再度起動させ、pythonを呼び出してみます。
python -V
# Python 3.8.6
おわりに
こちらの方法でPythonをインストールしたところ、pipなどパッケージ管理もうまくインストールでき快適な開発環境を構築できました。同じ悩みがある方の参考になれば幸いです。
参考
こちらの記事を参考に記事を作成しました。ありがとうございます。
pyenvのリポジトリ