pyenv

pyenvをインストールする-Python

Python Article

Pythonのバージョン管理ツールであるpyenvのインストールの仕方をまとめていきます。

インストールの方法は大きく分けて以下の2通りの方法があります。

今回は、2つ目のGitHubからクローンする方法をまとめておきます。

GitHubからクローンしてpyenvをインストールする

GitHubから~/.pyenvへクローン

command
git clone https://github.com/pyenv/pyenv.git ~/.pyenv

必要があれば以下のコマンドで、bash拡張機能をコンパイルしてください。pyenvの高速化が可能です。

command
cd ~/.pyenv && src/configure && make -C src

pyenv用にshellの環境を構築する

自分の使っているshellの環境にあった項目の操作を実行してください。

Bash

Debian,Ubuntu,Mint
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

echo 'eval "$(pyenv init -)"' >> ~/.bashrc
RedHat,Fedora,CentOS
sed -Ei -e '/^([^#]|$)/ {a \
export PYENV_ROOT="$HOME/.pyenv"
a \
export PATH="$PYENV_ROOT/bin:$PATH"
a \
' -e ':a' -e '$!{n;ba};}' ~/.bash_profile
echo 'eval "$(pyenv init --path)"' >> ~/.bash_profile

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

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

echo 'if command -v pyenv >/dev/null; then eval "$(pyenv init -)"; fi' >> ~/.bashrc
MacOS
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.profile
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.profile
echo 'eval "$(pyenv init --path)"' >> ~/.profile
echo 'if [ -n "$PS1" -a -n "$BASH_VERSION" ]; then source ~/.bashrc; fi' >> ~/.profile

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

Zsh

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

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

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

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

fish

fish
set -Ux PYENV_ROOT $HOME/.pyenv
set -U fish_user_paths $PYENV_ROOT/bin $fish_user_paths
echo 'status is-login; and pyenv init --path | source' >> ~/.config/fish/config.fish
echo 'status is-interactive; and pyenv init - | source' >> ~/.config/fish/config.fish

シェルを再起動して、PATHの変更を反映させる

通常、一度シェルを閉じてまた開き直すことで反映されます。

Pythonのbuildの依存パッケージをインストール

pyenv/pyenv wikiへ遷移し、それぞれのOS環境に合わせた依存パッケージをインストールしてください。

pyenvが正しく設定されていることを確認する

pyenv doctorを使って、チェックを行います。 以下のコマンドでpyenv-doctorをインストールします。

command
git clone https://github.com/pyenv/pyenv-doctor.git ~/.pyenv/plugins/pyenv-doctor
command
pyenv doctor

以下のように出ていれば利用可能です。

結果
・
・
・
Congratulations! You are ready to build pythons!

実行してバージョン確認してみる

command
pyenv -v
結果
pyenv 2.2.4-1-4-g1e79a522

pythonをインストールする

command
pyenv install 14.18.0