この記事では、Pythonの仮想環境である
- pyenv + vertualenv
- pyenv + conda
- venv
の3つを比較します。
わたしの手元の環境
- MacBookAir(M1, 2020)
- macOS Monterey 12.5
pyenv + vertualenv
メリット
- 自分が必要なパッケージを1つずつ入れたい時に最適。
- Python自体のバージョン管理も可能。
デメリット
- pyenvとvertualenvをインストールする必要がある(pyenv重い😢)。
手順
- pyenvをインストールする
パスを通すように指示されるので、書かれている通りにパスを通す
brew install pyenv
- virtualenvをインストールする
brew install pyenv-virtualenv
- python3.x.xをインストールする
※M1 Macでは特定のバージョンのPythonしか入れられないようです(参考)
pyenv install 3.x.x
- virtualenvを作成する
pyenv virtualenv 3.x.x 環境名
- 仮想環境を起動する
pyenv global 3.x.x/envs/環境名
- 仮想環境を終了する
pyenv global system
pyenv + conda
メリット
- Python自体のバージョン管理も可能
- 稀にcondaでしか入らないライブラリがある(今はほとんどない)ので、condaなら最強
- 分析系・科学計算系に強い
デメリット
- pyenvとcondaをインストールする必要がある(pyenv重い😢)。
- M1 Macでは、pyenv経由でanacondaを入れることができないので、注意(公式HPから入れよう😢)。
- condaは全体的に重い気がする。
手順
- 公式HPからanacondaをインストールする
- インストールできるanacondaのバージョンを確認する
pyenv install --list | grep anaconda
- anacondaをインストールする
pyenv install anaconda3-x.x.x
3-x.x.x
は任意のバージョンを - 環境を切り替える
pyenv global anaconda3-x.x.x
- 仮想環境を作成する
conda create -n 仮想環境名 python=3.x.x インストールしたいパッケージ名
- 仮想環境を起動する
pyenv global anaconda3-x.x.x/envs/仮想環境名
- 仮想環境を修了する
pyenv global system
venv
メリット
- Python3系の標準機能なので、わざわざインストールする必要がない。
- とてもシンプル。
デメリット
- Python自体のバージョン管理は不可
手順
- 仮想環境を作成する
python -m venv 適当な仮想環境の名前
- 仮想環境を起動する
仮想環境を作成したディレクトリで以下のコマンド.仮想環境名/bin/activate
- ライブラリをインストールする
もしくは
pip install ライブラリ名
pip install -r requirements.txt
- 仮想環境を終了する
deactivate
まとめ
評価項目 | pyenv + vertualenv | pyenv + conda | venv |
---|---|---|---|
Python自体のバージョン管理 | 可能 | 可能 | 不可能 |
インストール | 必要 | 必要 | 不要 |
軽さ | △ | × | ○ |
参考
以下の記事を参考にさせていただきました🙏
普段はvenv以外使わないので、間違っているところなどありましたら教えていただけると幸いです🙇♀️