💻

ubuntu 20.04 / 18.04 に pyenv をインストール

2021/10/10に公開

最近WSLがブームですね。windowsでunixを実行できるようになって、デュアルブートや仮想環境を用意する必要がなくなり、速度もそこそこ出るのは嬉しい。。。microsoft、unixコミュニティさまさまです。

ということで、Ubuntuにpythonのバージョン管理を行うpyenvをインストールする手順を載せました。

検証環境

  • OS:Ubutu18.04, 20.04
  • pyenv: v2.2.5
  • shell: bash, zsh

インストール手順

Step0. (オプション)パッケージのアップグレード

パッケージのアップグレードを行い、OSを再起動します。

sudo apt update
sudo apt upgrade

Step1. パッケージのインストール

pyenvの実行に必要なパッケージをインストールし、OSを再起動します。

sudo 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
  • libffi-dev: Foreign function interface library (FFI)
  • libssl-dev: Secure Sockets Layer library (SSL)
  • zlib1g-dev: Compression library (zip)
  • liblzma-dev: XZ-format compression library (pandas)
  • tk-dev: Toolkit for Tcl and X11 (tkinter)
  • libbz2-dev: high-quality block-sorting file compressor (bz2)
  • libreadline-dev: GNU readline and history (readline)
  • libsqlite3-dev: SQLite 3 development files (sqlite3)
  • libopencv-dev: development files for opencv (OpenCV)
  • build-essential: Informational list of build-essential packages (C/C++ compiler)
  • git: fast, scalable, distributed revision control system

Step2. pyenvgitでダウンロード

pyenvパッケージをGitHubからダウンロードします。

# pyenvのダウンロード
git clone https://github.com/pyenv/pyenv.git ~/.pyenv

# (Option)pyenvのリリースバージョンをv2.2.5に変更
cd ~/.pynev
git checkout v2.2.5

Step3. pyenvのインストール

ログインシェル(bash/zsh)に合わせて、以下のコマンドを実行します。

Step3-A. bash使用時

~/.profileの更新

# the sed invocation inserts the lines at the start of the file
# after any initial comment lines
sed -Ei -e '/^([^#]|$)/ {a \
export PYENV_ROOT="$HOME/.pyenv"
a \
export PATH="$PYENV_ROOT/bin:$PATH"
a \
' -e ':a' -e '$!{n;ba};}' ~/.profile
echo 'eval "$(pyenv init --path)"' >>~/.profile

~/.bashrcの更新

echo 'eval "$(pyenv init -)"' >> ~/.bashrc
source ~/.bashrc

Step3-B. zsh使用時

~/.zprofileの更新

echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zprofile
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zprofile
echo 'eval "$(pyenv init --path)"' >> ~/.zprofile

~/.profileの更新

echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.profile
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.profile
echo 'eval "$(pyenv init --path)"' >> ~/.profile

~/.zshrcの更新

echo 'eval "$(pyenv init -)"' >> ~/.zshrc

Step4. pyenvコマンドの確認

pyenvをコマンドとして認識しているか、確認します。

exec $SHELL -l # shellの再ログイン
pyenv -v # pyenv versionの表示
pyenv -h # pyenv helpの表示

Step5. pythonのインストール

pyenvを用いて、pythonをインストールします。(例として、python 3.8.13をインストール)

pyenv install 3.8.13
pyenv versions        # インストール済みのpyenvのバージョンを確認できる
pyenv shell 3.8.13    # インストールした 3.8.13 を認識するシェルに切り替える
python -V             # python 3.8.13 が表示される
pyenv shell --unset   # シェルを抜ける

ありがとうございました。

https://github.com/pyenv/pyenv

https://qiita.com/micheleno13/items/39ad85cfe44ca32f53ee

https://qiita.com/banaoh/items/00aea13fe045fab7e8ba

https://qiita.com/4hiziri/items/aba80f0bc92300ea22e2

Discussion