Hatchを使ってsetup.pyをpyproject.tomlに移行する#
プロジェクトに既に setup.py
がある場合、Hatchはプロジェクトの pyproject.toml
を生成するのに便利です。
注釈
このステップは必要なく、プロジェクトに既に setup.py
ファイルが定義されている場合にのみ有用です。
プロジェクトで
setup.py
が定義されていない場合は、 Python コードをインストール可能にする を参照してください。
学習目標
このレッスンで学ぶこと:
すでに
setup.py
が定義されているプロジェクトでpyproject.toml
を使用するように移行するために Hatch を使用するプロセスです。
Hatchとは何か?#
HatchはPythonパッケージマネージャで、Pythonパッケージの作成、管理、配布のプロセスを効率化するように設計されています。 新しいプロジェクトの作成、依存関係の管理、ディストリビューションのビルド、PyPI のようなリポジトリへのパッケージの公開といったタスクのための便利な CLI (Command-Line Interface) を提供します。
Hatchを知る
詳しくは Hatch を知るをご覧ください。
前提条件#
始める前に、システムにHatchがインストールされていることを確認してください。pipでインストールできます:
pipx install hatch
サンプルディレクトリツリー#
それでは、 hatch init
を使う前と後のディレクトリツリー構造のサンプルを見てみましょう:
hatch init
前#
project/
│
├── src/
│ └── my_package/
│ ├── __init__.py
│ └── module.py
│
├── tests/
│ └── test_module.py
│
└── setup.py
hatch init
後#
project/
│
├── pyproject.toml
│
├── src/
│ └── my_package/
│ ├── __init__.py
│ └── module.py
│
├── tests/
│ └── test_module.py
│
└── setup.py
ご覧のように、 hatch init
を実行した後の主な変化は、プロジェクトディレクトリに pyproject.toml
ファイルが追加されたことです。
ステップバイステップガイド#
では、Hatchを使ってプロジェクトの pyproject.toml
ファイルを作成する手順を説明しましょう。
プロジェクトディレクトリに移動する: ターミナルかコマンドプロンプトを開き、Pythonプロジェクトがあるディレクトリに移動します。
Hatchの初期化: 以下のコマンドを実行し、プロジェクトディレクトリのHatchを初期化します:
hatch new --init
レビューとカスタマイズ: 先ほどのコマンドを実行すると、Hatchは既存のプロジェクト構成に基づいて
pyproject.toml
ファイルを自動的に生成します。 生成されたpyproject.toml
ファイルの内容を確認するのに時間をかけてください。プロジェクトの要件に応じて、特定の設定や依存関係をカスタマイズしたいかもしれません(pyproject.toml
の詳細については pyproject.toml チュートリアルを参照してください)。検証:
pyproject.toml
ファイルがプロジェクト構成と依存関係を正確に反映していることを確認します。 必要であればファイルを手動で編集することもできますが、慎重を期して構文が正しいことを確認してください。setup.py を削除する:
pyproject.toml
のみを使用するように移行するので、setup.py
ファイルは不要になります。 プロジェクトディレクトリから安全に削除できます。テストビルド: 先に進む前に、
pyproject.toml
ファイルだけを使ってプロジェクトが正常にビルドされることを確認する必要がある。 以下のコマンドを実行してプロジェクトをビルドします:
hatch build
このコマンドは pyproject.toml
ファイルの仕様に基づいてプロジェクトをビルドします。 ビルドの過程でエラーや警告がないか、必ず確認してください。
既存機能のテスト:
pyproject.toml
でプロジェクトのビルドに成功したら、 プロジェクトの既存の機能が損なわれないようにすることが重要です。既存のテストを実行し、すべてが期待通りに動作することを確認します。