Pythonのパッケージ管理ツールの比較 | Rye vs Poetry+pyenv
Contents
まとめ
項目 | Rye | Poetry |
---|---|---|
Document | https://rye.astral.sh/ | https://python-poetry.org/docs/ |
GitHub | https://github.com/astral-sh/rye | https://github.com/python-poetry/poetry |
Star数 | ||
実装言語 | Rust | Python |
管理対象 | Pythonバージョン / パッケージ / 仮想環境 | パッケージ / 仮想環境 |
依存関係の管理 | pyproject.toml | pyproject.toml |
ロックファイル | requirements.lock | poetry.lock |
開発環境整備の手順と速度検証
- 各コマンドの速度検証には、Powershellのコマンド
Measure-Command {速度計測対象コマンド}
を使用 - 確認に使用したVersionは以下の通り
- Python : 3.10.9
- Rye : 0.1.0
- Poetry : 1.6.1
- virtualenv : 20.25.0
Rye
- RyeでPython 3.10.9はインストール済みの状態で速度を計測する
- プロジェクトをRyeで管理
- プロジェクトを新規作成する場合:
rye init {プロジェクト名}
→ 0.3 秒 - 既存プロジェクトを管理対象とする場合:
rye init
→ 0.2 秒 - すでにpyproject.toml, requirements.lockがある場合:
rye sync
- プロジェクトを新規作成する場合:
- 仮想環境で使用するPythonバージョンの選択:
rye pin 3.10.9
→ 0.1 秒 - 選択したPythonバージョンで仮想環境を作成:
rye sync
→ 2.5 秒 - 仮想環境のアクティベート:
.\.venv\Scripts\activate
→ 0.1 秒 - 依存関係の追加:
rye add pandas
→ 9.0 秒 - ライブラリのインストール:
rye sync
→ 0.5 秒 - インストールしたライブラリの確認:
rye list
Poetry
- pyenvでPython 3.10.9はインストール済みの状態で速度を計測する
- Poetryの仮想環境は、内部的にはvirtualenvを使用している
- 仮想環境をプロジェクト配下に作成する設定:
poetry config virtualenvs.in-project true --local
→ 1.3 秒 - プロジェクトをPoetryで管理
- プロジェクトを新規作成する場合:
poetry new {プロジェクト名}
→ 1.6 秒 - 既存プロジェクトを管理対象とする場合:
poetry init
→ 3.3 秒 (Enter連打) - すでにpyproject.toml, poetry.lockがある場合:
poetry install
- プロジェクトを新規作成する場合:
- 仮想環境で使用するPythonバージョンの選択:
pyenv local 3.10.9
→ 1.1 秒 - 選択したPythonバージョンで仮想環境を作成:
poetry env use python
→ 5.4 秒 - 仮想環境のアクティベート:
.\.venv\Scripts\activate
→ 0.1 秒 - ライブラリのインストール:
poetry add pandas
→ 15.5 秒 - インストールしたライブラリの確認:
poetry show
(補足) venv/virtualenv
- どちらも仮想環境を作成したいバージョンのPythonをインストールしておく必要がある
venv
- Python 3.3以降のPythonにおいて、ビルトインされている機能のため、
pip install
が不要- 選択されているPythonインタープリターに対応した仮想環境を作成
- 仮想環境の作成:
python3 -m venv venv
→ 16.1 秒 - 仮想環境のアクティベート:
.\venv\Scripts\activate
→ 0.4 秒 - ライブラリのインストール:
pip install pandas
→ 61.8 秒 - インストールしたライブラリの確認:
pip list
virtualenv
- Pythonのパッケージであり、
pip install virtualenv
でインストール- 任意のPythonバージョンを指定して仮想環境を作成可能
- 仮想環境の作成:
python3 -m virtualenv -p python3.10 venv
→ 5.0 秒 - 仮想環境のアクティベート:
.\venv\Scripts\activate
→ 0.1 秒 - ライブラリのインストール:
pip install pandas
→ 80.7 秒 - インストールしたライブラリの確認:
pip list