OpenTUT

PythonのProjectManagerって結局何がいいの?

hori

Python の ProjectManager って結局何がいいの?


問題点

  • デフォルトのPython環境だと, 依存関係管理に関するツールとしてpipが用いられる(Python3に含まれている)
    • パッケージのバージョン管理などの機能が不十分
    • Python自身のバージョンを指定できない
    • 仮想環境(プロジェクト単位のパッケージのインストール先)を単体で解決できない

よくある構成

pip + venv + pyenv

  • pipでパッケージ管理

  • venvで仮想環境管理

  • pyenvでバージョン管理

    • pip freezeコマンドを使って依存関係をファイルに書き出すことはできるが、面倒
    • コマンド実行忘れが発生しやすく、慣れが必要な構成
    • デフォルトでインストールされているツールも多く,環境を選ばない

poetry

pipenv

  • どちらもパッケージ管理 & 仮想環境管理が行える
  • Pythonのバージョン管理ツールと併せて利用することが多い

全部一つのツールで解決したい!!


Rye

  • Rust製の新しめのツール
  • パッケージ管理 & 仮想環境管理 & Pythonバージョン指定すべてできる