やりたいこと
Pythonで仮想環境を構築する方法、およびそれに付随する機能がいろいろあるので、それらを整理する。
ライブラリ名 | 役割 | 補足 |
---|---|---|
pip | Pythonライブラリをインストールするコマンド | |
pyenv | Python自体のバージョン管理 | パッケージ管理もできるようだが、専らPythonバージョン管理のために使われているようだ。 |
venv | 仮想環境作成 | 旧称は「pyvenv」。サードパーティ製のvirtualenvが、Python3.3より標準機能として実装されたもの。両者の使い方はほぼ一緒。(ただしvirtualenvは、仮想環境作成機能に加え、Pythonバージョン切替の機能も備わっている) |
conda | (Anaconda環境下での)パッケージ管理、仮想環境作成、Pythonバージョン管理 | |
pipenv | pip + venv | 「Pipfile」を使用する |
poetry | pip + venv | 「pyproject.toml」を使用する |
- まず、Anaconda環境を使うか使わないかを決める。
- Anaconda環境ではpipを使用することができない。Anaconda環境にてpipを使用してライブラリをインストールすると、運が悪いと(?)Anaconda環境がぶっこわれる。
- 非Anaconda環境における「pip」≒ Anaconda環境における「conda」
- pipではインストールできるが、condaではインストールできないライブラリもあったりする。そういう時筆者は、Anaconda環境が壊れる可能性を承知でpipでぶちこんでいた。。
- Anacondaを使用するなら、今後Anacondaにすべてを委ねると腹をくくらなければならない。
- (以下、Anaconda環境を使わないと決めた場合)
- Pythonのバージョンの切り替えを行いたい
- → pyenvを使う。Windowsだと「pyenv-win」が使える(昔はWindowsでpyenvを使うことができなかったらしい)
- 仮想環境を作りたい
- Python3.3以降
- → venvを使う。virtualenvも使えるが、公式でvenvが出ているのでvenvを使うのが無難らしい。あとvirtualenvは使いにくいらしい。
- Python3.3以前(3.3を含まない)
- → virtualenvを使う。
- Python3.3以降