こんにちは、JS2IIUです。
Poetryは、Pythonのパッケージ管理と依存関係管理を簡単にするツールです。これを使うことで、仮想環境の作成やパッケージのインストール・更新がスムーズに行えます。また、パッケージのビルドやPyPIへの公開も一括で管理できるため、開発効率が向上します。
Poetryの特長とメリット
Poetryには、以下のような特長とメリットがあります。
1. 依存関係の管理が簡単
Poetryは pyproject.toml という設定ファイルを使い、プロジェクトの依存関係を明確に管理します。poetry.lock を使用してバージョンを固定できるため、環境の再現性が高くなります。
2. 仮想環境を自動管理
Poetryは、プロジェクトごとに自動で仮想環境を作成・管理します。別途 venv を作成する必要がなく、環境構築が容易になります。
3. 直感的なコマンドで操作可能
シンプルなコマンドでパッケージの追加・削除・更新ができます。
poetry add requests # パッケージの追加
poetry remove requests # パッケージの削除
poetry update # 依存関係の更新4. プロジェクトの一貫した管理が可能
Poetryはパッケージの管理だけでなく、プロジェクト全体の構成も管理できます。これにより、複数人での開発やCI/CDの設定が容易になります。
5. パッケージのビルドと公開が簡単
PyPIへのパッケージ公開もワンコマンドで可能です。
poetry publish --buildPoetryの使い方と手順
1. Poetryのインストール
Poetryを利用するには、まずPoetry自体をインストールする必要があります。
Mac & Linuxでのインストール
以下のコマンドをターミナルで実行すると、Poetryが自動的にインストールされます。
curl -sSL https://install.python-poetry.org | python3 -Windowsでのインストール(PowerShellを使用)
Windowsでは、PowerShellを管理者権限で開き、以下のコマンドを実行してください。
(Invoke-WebRequest -Uri https://install.python-poetry.org -UseBasicParsing).Content | python -インストール後の確認
インストールが完了したら、以下のコマンドでPoetryのバージョンを確認し、正しくインストールされていることを確認します。
poetry --version2. 新しいプロジェクトの作成
新規プロジェクトの作成
Poetryを使用して新しいプロジェクトを作成するには、以下のコマンドを実行します。
poetry new my_projectこのコマンドを実行すると、以下のようなディレクトリ構成のプロジェクトが作成されます。
my_project/
│── pyproject.toml # Poetryの設定ファイル
│── README.rst # 説明書(任意)
│── my_project/ # プロジェクトのコードディレクトリ
│ ├── __init__.py
│
└── tests/ # テスト用ディレクトリ既存のディレクトリでPoetryを初期化
既存のプロジェクトでPoetryを利用する場合、プロジェクトのルートディレクトリに移動し、以下のコマンドを実行します。
poetry init対話形式でプロジェクトの情報を入力し、pyproject.toml ファイルが作成されます。
3. 依存関係の管理
パッケージの追加
Poetryでは、以下のコマンドで外部ライブラリを追加できます。
poetry add requestsこのコマンドを実行すると、requests ライブラリがインストールされ、pyproject.toml に追加されます。
開発用パッケージの追加
テストやデバッグ用のパッケージは --dev オプションをつけて追加します。
poetry add --dev pytestパッケージの削除
不要になったパッケージを削除するには、以下のコマンドを実行します。
poetry remove requests4. 仮想環境の管理
依存関係のインストール
プロジェクトの pyproject.toml に記述された依存関係をすべてインストールするには、以下のコマンドを実行します。
poetry install仮想環境に入る
Poetryの仮想環境に入るには、以下のコマンドを実行します。
poetry shell仮想環境の情報を確認
仮想環境のパスやPythonのバージョンを確認するには、以下のコマンドを使用します。
poetry env info5. スクリプトの実行
pyproject.toml にスクリプトを登録することで、簡単に実行できます。
[tool.poetry.scripts]
start = "my_project.main:run"以下のコマンドでスクリプトを実行できます。
poetry run start6. 依存関係のエクスポート
Poetryで管理している依存関係を requirements.txt 形式にエクスポートすることもできます。
poetry export -f requirements.txt > requirements.txt7. パッケージのビルドと公開
パッケージのビルド
パッケージをビルドするには、以下のコマンドを実行します。
poetry buildPyPIへの公開
PyPIにパッケージを公開するには、以下のコマンドを実行します。
poetry publish --build参考になるWEBサイト
Poetryを活用すれば、Pythonの開発環境をより効率的に管理できます。ぜひ導入を検討してみてください!
最後に、書籍のPRです。
24年9月に出版された「ハイパーモダンPython-信頼性の高いワークフローを構築するモダンテクニック」、Claudio Jolowicz著、嶋田、鈴木訳。開発環境の構築、プロジェクトの管理、テストに関して実践的な内容でとても参考になる一冊です。Poetryについても詳しく説明されています。ぜひ手に取ってみてください。
最後まで読んでいただきありがとうございます。


コメント