pyproject.toml ファイルは何のためにあるのですか? 質問する

pyproject.toml ファイルは何のためにあるのですか? 質問する

背景

GitHubからダウンロードしたPythonパッケージを試そうとしたのですが、 がないsetup.pyためインストールできないことに気付きました。

pip install -e <folder>

代わりに、パッケージには通常pyproject.tomlと非常によく似たエントリを持つファイルが含まれていましたsetup.py

私が見つけたもの

グーグルで調べるとペップ518そしてそれはいくつかの批判をsetup.py与える根拠setup.pyセクションを参照してください。ただし、 の使用を避ける必要があることや、 が をpyproject.toml完全に置き換えることになることは明確に述べられていませんsetup.py

質問

pyproject.tomlは を置き換えるために使用されるものですかsetup.py? それとも、パッケージにはpyproject.tomlと の両方が付属している必要がありますかsetup.py?編集可能な状態で
を含むプロジェクトをインストールするにはどうすればよいですか?pyproject.toml

ベストアンサー1

はい、pyproject.toml指定されたファイル形式はペップ518Python プロジェクトのビルド システム要件が含まれています。

これにより、ビルド ツールの依存関係の鶏が先か卵が先かという問題、つまり、pip読み取れるかどうかpyproject.toml、どのバージョンのものが必要かという問題が解決されます。setuptoolswheel

編集可能なインストールにが必要な場合はsetup.py、 で shim を使用できますsetup.py

#!/usr/bin/env python

import setuptools

if __name__ == "__main__":
    setuptools.setup()

おすすめ記事