pyenv
と venv
を使いこなすことで複数の Python のバージョンやライブラリ、パッケージを管理、切り替えて開発を進めることができます。
pyenv
と venv
の特徴は次のとおりです。
ツール | できること |
---|---|
pyenv | Python のバージョンを管理・切り替える |
venv | ライブラリやパッケージを切り替える |
本記事では、pyenv
と venv
のインストール方法と使い方を解説します。
pyenv のインストール
pyenv とは
pyenv は、Python のバージョン管理ツールです。 これを使うことで、複数の Python バージョンをシステムに簡単にインストールし、プロジェクトごとに異なるバージョンを切り替えることができます。
pyenv のインストール
pyenv の公式サイト(github)に手順があります。
インストール方法は次のとおりです。
curl -fsSL https://pyenv.run | bash
インストールできたら、bashrc
の最後尾に次の 3 行を追加します。
export PYENV_ROOT="$HOME/.pyenv"
[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init - bash)"
pyenv のインストールは以上です。
再ログインすれば pyenv
というコマンドが使えるようになっています。
python のインストール
前提ソフトウェアのインストール
python はコンパイルしてインストールします。
コンパイルには meke
や gcc
が必要なので、事前にインストールしましょう。
必要なソフトウェアは次のコマンドでインストールできます。
sudo apt install libssl-dev libffi-dev libncurses5-dev zlib1g zlib1g-dev libreadline-dev libbz2-dev libsqlite3-dev make gcc
Python のインストール
Python をインストールする準備ができたので、実際に最新バージョンの Python をインストールしてみましょう。
まずは、インストール済みの Python バージョンを表示してみます。
~$ pyenv versions
- system (set by /home/xxx/.pyenv/version)
Ubuntu には標準で Python がインストールされているので、それ(system)がリストアップされました。
続けて、インストールするバージョンを決めるために pyenv でインストールできるバージョンを表示してみましょう。
大量にあるので、less
でページングするとよいです。
~$ pyenv install -l | less
2025 年の年初では 3.12.8
が最新でした。
3.12.8
をインストールするには次のコマンドを実行します。
~$ pyenv install 3.12.8
Downloading Python-3.12.8.tar.xz...
...
前提ソフトウェアをインストールできていれば、インストールは成功します。
インストールできたら、もう一度インストール済みの Python バージョンを表示してみましょう。
~$ pyenv versions
* system (set by /home/xxx/.pyenv/version)
3.12.8
標準(system)に加えて、3.12.8
が表示されましたね。
この状態だと python
を実行すると、標準(system)のバージョンが使われます。
利用するバージョンを切り替えるには次のコマンドを実行します。
~$ pyenv global 3.12.8
もう一度バージョンを出力してみると、利用するバージョンが切り替わってることが確認できます。
~$ pyenv versions
system
* 3.12.8 (set by /home/xxx/.pyenv/version)
仮想環境の作成
バージョンを切り替えれるようになったので、次は Python のライブラリやパッケージを切り替えれるようにしましょう。
Python には venv
という仮想環境を作る機能が備わっています。
次のようなコマンドで仮想環境を作ることができます。 実行したときの Python バージョンで仮想環境が作成されますので、バージョンを切り替えてから実行しましょう。
~$ cd ~/workspace
~/workspace$ python -m venv .venv
最後のパラメータの名前のディレクトリに仮想環境が作られます。 仮想環境はただのファイル群です。
仮想環境はアクティベート、ディアクティベートして使います。
アクティベート方法は次のとおりで、先ほど作成した仮想環境に入っているactivate
を実行するだけです。
~/workspace$ source .venv/bin/activate
(.venv) ~/workspace$
アクティベートすると、どの仮想環境に参加しているかわかりやすいように、プロンプトに仮想環境名が入ります。
仮想環境にアクティベート中はパッケージのインストールは、その仮想環境にのみインストールされます。 また仮想環境を作った直後はパッケージが pip だけのまっさらな状態になっています。
(.venv) ~/workspace$ python -m pip list
Package Version
------- -------
pip 24.3.1
試しに numpy
をインストールしてみましょう。
(.venv) ~/workspace$ python -m pip install numpy
インストール済みのパッケージを出力すると numpy
がインストールできていますね。
(.venv) ~/workspace$ python -m pip list
Package Version
------- -------
numpy 2.2.1
pip 24.3.1
仮想環境のディアクティベート方法は次のとおりです。
(.venv) ~/workspace$ deactivate
仮想環境からディアクティベートしたので、先ほど仮想環境にインストールしたパッケージ numpy
はインストールされていない環境に戻ります。
~/workspace$ python -m pip list
Package Version
------- -------
pip 24.3.1
このようにして仮想環境を作り、アクティベート・ディアクティベートで切り替えることで、パッケージやライブラリを切り替えて開発できるようになります。
おわりに
本記事では、pyenv
と venv
のインストール方法と使い方を解説しました。
pyenv
と venv
を使いこなすことで複数の Python のバージョンやライブラリ、パッケージを管理、切り替えて開発を進めることができるようになります。
以上です。
コメント