同種の記事は数多くあるが、今となってはマイナーなツールが混じっていたり、役割の違いがわかりにくかったりしていたので、簡単にまとめ直した。
機能まとめ
Pyflowによる比較表を書き直した。pipとvenvはPython 3.4以降標準で付属している。
|ツール|パッケージインストール|依存関係解決|Pythonバージョン管理|仮想環境構築|ビルド・パブリッシュ|
|---|---|---|---|---|---|---|
|pip |〇 | |
|venv| | | | 〇||
|Anaconda|〇 |〇 |〇|〇
|pyenv(-virtualenv)|||〇|(〇)
|Pipenv|〇|〇||〇
|Poetry|〇|〇||〇|〇
|Pyflow|〇|〇|〇|〇|〇
個人の感想
Anaconda
- PATHを上書きする怪しい仕様があり、Homebrewと競合したりアンインストールに苦労したりする
- venv同様仮想環境を使うときにいちいち
activate
する必要がある- これらの問題があるのでpyenv経由で使うのが良い
-
conda install
でパッケージが見つからないときにanaconda cloudで検索する手間が発生する - Anacondaを推奨しているパッケージを使いたいときは使う
pip + pyenv (+pyenv-virtualenvプラグイン)
- Pythonバージョン管理に関しては最強
- AnacondaやPyPyも扱える
- pyenv-virtualenvによる仮想環境管理もとても楽
- 仮想環境をプロジェクト間で使い回しやすい?
- (Windows環境は知らん)
Pipenv
- 動作がどんどん遅くなっていく...
- 別バージョンのPythonを使いたくなったらpyenvと併用
Poetry
- コードを配布する予定があるときは良さそう
- 別バージョンのPython (ry
Pyflow
- まだまだ開発中という感じ