Debianに pyenv をシステムワイドにインストール

pythonのバージョン切り替えをしたい。

調べてみましたが、Pythonのバージョン切り替えやプロジェクトごとのバージョン管理はなかなか分かりづらい。 pythonそのもののバージョンを切り替えるにはpyenvを使うのが良さそうです。

実際のところ、pyenvをsystem wideにインストールする必然はないです。 ぼくの場合はユーザーのディレクトリに置きたくなかっただけの理由です。

参考

pyenvのインストール

基本的にRuby版であるrbenvのインストールと同様の手順でいけます。(DebianにRuby 3をインストール)

最初にディレクトリを作成してgroupとpermissionを設定すれば、あとの作業はsudoを使わなくてもOK。

sudo mkdir -p /usr/local/share/pyenv
sudo chgrp -R staff pyenv
sudo chmod -R g+rwxXs pyenv
git clone https://github.com/pyenv/pyenv.git /usr/local/share/pyenv
git clone https://github.com/pyenv/pyenv-virtualenv.git /usr/local/share/pyenv/plugins/pyenv-virtualenv
環境変数の設定は以下の通りです:
export PYENV_ROOT="/usr/local/share/pyenv"
export PATH="${PYENV_ROOT}/bin:${PATH}"
export PATH="${PYENV_ROOT}/shims:${PATH}"
eval "$(pyenv init - )"

/usr/local/share/pyenv/shimsのPATHを追加しているのは、これが無いとpyenvのpythonが認識されないため苦肉の策です。 この対処が正しいのかは分かっていません。

環境変数を反映させます。ぼくはzshを使っているの.zshenvに入れています。ご自分の環境に合わせて下さいね。
source .zshenv

pythonのインストール

pyenv install 3.8.11
pyenv local 3.8.11

確認すると下のようになります:

~% pyenv versions      
  system
* 3.8.11 (set by /home/xxxx/.python-version)

Adsense広告