WSL環境にpyenvを使ってPythonバージョンを切り替える方法を紹介します。
はじめに
この記事では、
「WSL2(Ubuntu-20.04)においてpyenvを使ってPythonバージョンを切り替える方法」
についてまとました。
実施環境
Widows10
WSL2(Ubuntu-20.04_LTS)
WSLを使ってみたい人は以下の記事を参考にしてください。
Ubuntu-20.04の場合、デフォルトでは以下のようにPython 3.8.10がインストールされてます。
デフォルトのPythonは、OSがさまざまな機能を提供するために使用しているので
デフォルトPythonはそのままにしてpyenvを使って新しいバージョンのPythonをインストール
していきます。
pyenvとは?
pyenvは、Pythonのシンプルなバージョン管理ツールです。
様々なバージョンのPythonをインストールする事ができ、インストールしたバージョンを切り替える事ができます。
Pythonで何か作る時に、最新バージョンで試したり、過去のバージョンで試したりする事が可能です。
開発プロジェクト単位でバージョンを気軽に変更して開発する事もできます。
複数の開発に携わっていると、同一PC内においてPythonのバージョンを切り替えたい時にとても便利です。
インストールの準備
aptパッケージを更新し、OSを再起動します。
WSLの場合はコマンド:「wsl -t Ubuntu-20.04」を実行し、もう一度サインインしてください。
(Ubuntu-20.04は自分の環境のバージョンに合わせてください。)
sudo apt update
sudo apt upgrade
パッケージのインストール
以下のコマンドを実行して、pyenvの実行に必要なパッケージをインストールします。
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をgitでダウンロード
pyenvパッケージをGitHubからダウンロードします。
git clone https://github.com/pyenv/pyenv.git ~/.pyenv
.bashrcに以下の内容を設定し、コマンド:「source ~/.bashrc」で再読み込みします。
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(pyenv init --path)"' >> ~/.bashrc
pyenvがインストールできたかを確認します。
以下のコマンドでバージョンを確認します。
pyenv -v
pythonのインストール
pyenv でインストールできるPython のバージョンの確認します。
以下のコマンドを実行します。
pyenv install -l
この中からインストールしたいpythonのバージョンを探してインストールします。
今回は「3.8.10」、「3.10.8」のバージョンをインストールしたいと思います。
バージョン「3.8.10」は以下のコマンドでインストールします。
pyenv install 3.8.10
バージョン「3.10.8」は以下のコマンドでインストールします。
pyenv install 3.10.8
インストールしたPythonのバージョンを確認します。
以下のコマンドを実行するとインストールした一覧が表示されます。
pyenv versions
Pythonのバージョンを切り替え
バージョンは、ローカル、またはグローバルで切り替え可能です。
local
コマンドでカレントディレクトリ(現在いるディレクトリ)のバージョンを切り替えglobal
コマンドで全体のバージョンを切り替えることができます。
試しにlocal
コマンドでバージョンを切り替えて、確認してみましょう。
コマンド:「pyenv local 3.8.10」でカレントディレクトリのバージョンを変更して、
コマンド:「pyenv version」でバージョンを表示してみました。
まとめ
今回はpyenvを使ってpythonのバージョン変更方法ついて紹介しました。
全体またはカレントディレクトリ単位でpythonのバージョンを変更できるのでとても便利です。
開発プロジェクト単位でバージョンが変更できるので、これから重宝しそうです。
コメント