Python_pyenvの設定手順 #206日目
pyenvを用いると、指定した特定のバージョンのPython実行環境を導入することができ、さらにディレクトリ毎にバージョンを変える等が可能になります。これにより、プロジェクトごとに適したバージョンの実行環境を用意できます。
今回は以下の環境でのpyenvのインストールから、あるディレクトリでPythonのバージョンを指定するところまでまとめてみたいと思います。
環境
WSL2 Ubuntu 22.04 LTS (Windows10)
事前準備
パッケージのアップデートとインストールを行います。
$ sudo apt update
$ sudo apt upgrade
$ 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
各パッケージの意味は以下です。
pyenvパッケージをgithubからクローン
ホームディレクトリでクローンします。
$ git clone https://github.com/pyenv/pyenv.git ~/.pyenv
pyenvのインストール
私の環境では以下の2ファイルを更新しています。
[.profileの頭に以下を記載]
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
[.bashrcの末尾に以下を記載]
PYENV_ROOT="${HOME}/.pyenv"
PATH="${PYENV_ROOT}/bin:${PATH}"
if command -v pyenv 1>/dev/null 2>&1; then
eval "$(pyenv init --path)"
eval "$(pyenv init -)"
fi
後者は必須だったっぽいですが、前者は不要だったかもしれません(とりあえず動いたのでそのままにしています)。。もし分かる方がいらっしゃればご指摘いただけますと幸甚です。
次に環境変数を読み込みます。
$ source .bashrc
仕上げにshellへ再ログインして、シェル設定を再読み込みします。
$ exec $SHELL -l
ここまでエラーなしで到達すれば、pyenvを使えるようになっているはずです。
※追記:この「.bashrc」の書き方だとバージョンが上手く切り替わらないことが分かりました。以下の記事で修正方法を解説しています。
pyenvを使ってみる
バージョン確認
$ pyenv -v
#実行結果
pyenv 2.2.5
ヘルプを確認
$ pyenv -h
#実行結果
Usage: pyenv <command> [<args>]
Some useful pyenv commands are:
--version Display the version of pyenv
commands List all available pyenv commands
exec Run an executable with the selected Python version
global Set or show the global Python version(s)
help Display help for a command
hooks List hook scripts for a given pyenv command
init Configure the shell environment for pyenv
install Install a Python version using python-build
local Set or show the local application-specific Python version(s)
~(以下、略)~
また、pyenvでpythonのバージョン管理をするには、pyenv上に【管理したいpythonのバージョン】をインストールしておく必要があります。
pyenv上にインストールできるもののリストを確認
$ pyenv install --list
#実行結果
Available versions:
2.1.3
2.2.3
2.3.7
2.4.0
~(以下、略)~
pyenv上にpythonの3.9.1バージョンをインストール(例)
$ pyenv install 3.9.1
インストール済みのバージョンを確認
$ pyenv versions
インストールしたバージョンを特定のディレクトリに適用
$ cd 目的のディレクトリ
$ pyenv local 3.9.1
# 確認
$ python --version
# 実行結果
Python 3.9.1
解除方法
$ cd 目的のディレクトリ
$ pyenv local --unset
# 確認
$ python --version
# 実行結果
pyenv: python: command not found
ここまでお読みいただきありがとうございました!!
参考
この記事が気に入ったらサポートをしてみませんか?