6
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Pyenvとvenvを使ってPython環境を使い分ける方法

Last updated at Posted at 2024-03-22

PyenvとvenvによるPythonの開発環境管理方法を使うと、バージョンごとに仮想環境構築など多彩な環境構築ができるようになります。

Pyenv:Pythonバージョン管理ツール

PyenvとはPythonのバージョン管理ができるコマンドラインツールです。
Pythonは別のバージョンを複数同時にインストールしておくことができます。複数インストールされているバージョンをひと目で確認したり、インストール・アンインストールやバージョンの切り替えが簡単にできるコマンドになっています。

Pyenvのインストール

Pyenvのインストールは、MacであればHomebrewからが簡単。

$ brew update
$ brew install pyenv

$ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc
$ echo 'command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrc
$ echo 'eval "$(pyenv init -)"' >> ~/.zshrc

HomebrewでPyenvのインストール後にシェルにパスを通します。
シェルがBashの場合は~/.Zshrcの部分を~/.bashrcへ置き換えてください

インストール済みPythonのバージョンを調べる

$ pyenv versions
  system
* 3.10.13 (set by /Users/ユーザー名/.pyenv/version)

現在選択されているバージョンに*がつきます。

インストール可能なバージョンを調べる

$ pyenv install -list

表示された結果内のバージョン番号のみ表示しているものがPython本体です。
python本体のほかanacondaなどもインストール可能です。

Pythonインストール

$ pyenv install 3.X.X

各バージョンの切り替え

$ pyenv global 3.X.X      # 3.X.Xへ切り替え

$ pyenv global system         # Macに元から入っているPythonへ切り替え

globalとはすべてのディレクトリで使用するバージョンを指定するコマンドです。
上記の例では、「すべてのディレクトリで使用するバージョンを3.X.Xにしなさい」と指示しています。
新しいバージョンをインストールしただけでは自動で切り替わりませんので、インストール後すぐに使う場合はセットで実行します。

特定のディレクトリ配下でのみ別バージョンを指定することもできます。

$ cd ~/other_version
$ pyenv local 3.X.X

別バージョンを使用したいディレクトリへ移動してlocal設定をすることで指定できます。
上記の例では、「other_versionディレクトリ配下のみ3.X.Xを使用しなさい」と指示しています。

venv:仮想環境構築ツール

venvとはpython3.3以降のバージョンであればデフォルトで入っている、仮想環境を構築するコマンドラインツールです。
高機能で評価の高いサードパーティアプリのVirtualenvから仮想環境の基本部分だけをPython公式として採用し同梱されたものです。

仮想環境の作成

$ cd ~/TargetDirectory
$ python -m venv <仮想環境名> 

仮想環境を作りたいディレクトリへ移動してvenvを実行するとディレクトリ内に仮想環境名のディレクトリが作成され必要な情報が格納されます。
<仮想環境名>は慣例的に'venv'とすることが多ようです。

仮想環境をアクティヴ化

$ source <仮想環境名>/bin/activate
(<仮想環境名>)$

venvを実行しただけでは、仮想環境を作成できていても有効化はされていません。アクティブにすることで仮想環境に入れます。
仮想環境下ではプロンプトの前に<仮想環境名>が表示されるようになります。
仮想環境下でpipコマンドを使ってインストールされた各種ライブラリなどは、仮想環境を構築したディレクトリ内でアクティブになっているときのみ利用できます。

仮想環境を終了する

(<仮想環境名>)$ deactivate
$ 

仮想環境を抜けるとプロンプト前の仮想環境名が消えます。

仮想環境の削除

venvを実行したディレクトリ内の<仮想環境名>ディレクトリを削除するだけです。

6
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?