【Python】Poetryの使い方

Python
この記事は約6分で読めます。

こんにちは、JS2IIUです。
Poetryは、Pythonのパッケージ管理と依存関係管理を簡単にするツールです。これを使うことで、仮想環境の作成やパッケージのインストール・更新がスムーズに行えます。また、パッケージのビルドやPyPIへの公開も一括で管理できるため、開発効率が向上します。

Poetryの特長とメリット

Poetryには、以下のような特長とメリットがあります。

1. 依存関係の管理が簡単

Poetryは pyproject.toml という設定ファイルを使い、プロジェクトの依存関係を明確に管理します。poetry.lock を使用してバージョンを固定できるため、環境の再現性が高くなります。

2. 仮想環境を自動管理

Poetryは、プロジェクトごとに自動で仮想環境を作成・管理します。別途 venv を作成する必要がなく、環境構築が容易になります。

3. 直感的なコマンドで操作可能

シンプルなコマンドでパッケージの追加・削除・更新ができます。

Bash
poetry add requests  # パッケージの追加
poetry remove requests  # パッケージの削除
poetry update  # 依存関係の更新

4. プロジェクトの一貫した管理が可能

Poetryはパッケージの管理だけでなく、プロジェクト全体の構成も管理できます。これにより、複数人での開発やCI/CDの設定が容易になります。

5. パッケージのビルドと公開が簡単

PyPIへのパッケージ公開もワンコマンドで可能です。

Bash
poetry publish --build

Poetryの使い方と手順

1. Poetryのインストール

Poetryを利用するには、まずPoetry自体をインストールする必要があります。

Mac & Linuxでのインストール

以下のコマンドをターミナルで実行すると、Poetryが自動的にインストールされます。

Bash
curl -sSL https://install.python-poetry.org | python3 -

Windowsでのインストール(PowerShellを使用)

Windowsでは、PowerShellを管理者権限で開き、以下のコマンドを実行してください。

Bash
(Invoke-WebRequest -Uri https://install.python-poetry.org -UseBasicParsing).Content | python -

インストール後の確認

インストールが完了したら、以下のコマンドでPoetryのバージョンを確認し、正しくインストールされていることを確認します。

Bash
poetry --version

2. 新しいプロジェクトの作成

新規プロジェクトの作成

Poetryを使用して新しいプロジェクトを作成するには、以下のコマンドを実行します。

Bash
poetry new my_project

このコマンドを実行すると、以下のようなディレクトリ構成のプロジェクトが作成されます。

Plaintext
my_project/
│── pyproject.toml  # Poetryの設定ファイル
│── README.rst       # 説明書(任意)
│── my_project/      # プロジェクトのコードディレクトリ
│   ├── __init__.py

└── tests/           # テスト用ディレクトリ

既存のディレクトリでPoetryを初期化

既存のプロジェクトでPoetryを利用する場合、プロジェクトのルートディレクトリに移動し、以下のコマンドを実行します。

Bash
poetry init

対話形式でプロジェクトの情報を入力し、pyproject.toml ファイルが作成されます。


3. 依存関係の管理

パッケージの追加

Poetryでは、以下のコマンドで外部ライブラリを追加できます。

Bash
poetry add requests

このコマンドを実行すると、requests ライブラリがインストールされ、pyproject.toml に追加されます。

開発用パッケージの追加

テストやデバッグ用のパッケージは --dev オプションをつけて追加します。

Bash
poetry add --dev pytest

パッケージの削除

不要になったパッケージを削除するには、以下のコマンドを実行します。

Bash
poetry remove requests

4. 仮想環境の管理

依存関係のインストール

プロジェクトの pyproject.toml に記述された依存関係をすべてインストールするには、以下のコマンドを実行します。

Bash
poetry install

仮想環境に入る

Poetryの仮想環境に入るには、以下のコマンドを実行します。

Bash
poetry shell

仮想環境の情報を確認

仮想環境のパスやPythonのバージョンを確認するには、以下のコマンドを使用します。

Bash
poetry env info

5. スクリプトの実行

pyproject.toml にスクリプトを登録することで、簡単に実行できます。

Bash
[tool.poetry.scripts]
start = "my_project.main:run"

以下のコマンドでスクリプトを実行できます。

Bash
poetry run start

6. 依存関係のエクスポート

Poetryで管理している依存関係を requirements.txt 形式にエクスポートすることもできます。

Bash
poetry export -f requirements.txt > requirements.txt

7. パッケージのビルドと公開

パッケージのビルド

パッケージをビルドするには、以下のコマンドを実行します。

Bash
poetry build

PyPIへの公開

PyPIにパッケージを公開するには、以下のコマンドを実行します。

Bash
poetry publish --build

参考になるWEBサイト

Poetryを活用すれば、Pythonの開発環境をより効率的に管理できます。ぜひ導入を検討してみてください!

最後に、書籍のPRです。
24年9月に出版された「ハイパーモダンPython-信頼性の高いワークフローを構築するモダンテクニック」、Claudio Jolowicz著、嶋田、鈴木訳。開発環境の構築、プロジェクトの管理、テストに関して実践的な内容でとても参考になる一冊です。Poetryについても詳しく説明されています。ぜひ手に取ってみてください。

最後まで読んでいただきありがとうございます。

コメント

タイトルとURLをコピーしました