更新日:2022/10/16 (Ubuntu22.04追加)
記載日:2022/6/5
Ubuntuにpyenvをインストールする方法を記載します。
目標
ubuntuにpyenvをインストールし、希望するバージョンのpythonコマンドを実行できるようにする。
環境
OS : Ubuntu20.04、 Ubuntu22.04
gitインストール済
作業
0.pyenvライブラリのダウンロード
Terminalを開き、以下コマンドを実行。
(コマンド実行後、ホームディレクトリで”ll -a”コマンドを実行すると.pyenvが追加されていて、ダウンロードできていることが確認できる。)
git clone https://github.com/pyenv/pyenv.git ~/.pyenv
pyenvコマンドを実行できるようにするためにパスの設定を行う。.bashrcファイルに記述追加するために、以下コマンドを実行する。
.bashrc以外に、.profileなどにもパス設定を追加したい方は追加する。
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
echo 'command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(pyenv init -)"' >> ~/.bashrc
変更内容を読み込ませる。
source .bashrc
ターミナルで、以下コマンドを実行するとpyenvのバージョンが表示され、インストールできたのが確認できる
pyenv --version
1.pyenvでpythonをインストール
以下コマンドを実行し、インストールできるPythonバージョンを確認する。
pyenv install -list
希望のバージョンをインストールする。
(私の場合はここでエラーが出た。下記”#2-エラー対応”を参照。)
pyenv install 3.9.13
対象バージョンがインストールできたことを以下コマンドで確認。
pyenv versions
グローバルでpythonコマンドを使えるようにする。
pyenv global 3.9.13
最後にpythonコマンドが使えることを確認。
python --version
2.エラー対応
pyenv installコマンドを実行したときに3回エラーになった。
・ターミナルに”no acceptable C compiler found in $PATH”というエラー。
gccをインストールすることで解決できるらしい。
sudo apt-get install build-essential
・またエラー。ターミナルに記載されたLogファイルを確認すると、最後の方に”ZipImportError:zlib not available”というエラー。
Zlibをインストール。
sudo apt-get install zlib1g-dev
・またエラー。ターミナルに記載されたLogファイルを確認すると、最後の方に”The Python ssl extension was not compiled. Missing the OpenSSL lib?”というエラー。
https://github.com/pyenv/pyenv/wiki/Common-build-problems に記載の対応をする。
①20.04、22.04の場合
sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev \
libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev \
xz-utils tk-dev libffi-dev liblzma-dev python-openssl git
②22.04で"python-openssl が見つかりません"と出る時があった。その時は以下で対応できた。
sudo apt-get install make build-essential libssl-dev zlib1g-dev \
libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm \
libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev
以上で無事にインストールできるようになった。
参考にさせて頂いたサイト
・pyenvについて
https://github.com/pyenv/pyenv#installation
・エラー対応について
https://qiita.com/kenta_ojapi/items/6b19e0c05b268f3e74da
https://zenn.dev/moru3_48/articles/94d01b0ed2a91e