`setup.cfg` は非推奨ですか? 質問する

`setup.cfg` は非推奨ですか? 質問する

の現状が私にはよく分かりませんsetup.cfg。私は自分の解決策を探しています。その他の質問PEP 508 環境マーカーについて調べましたが、完全に混乱してしまいました。

私にとっては、setup.cfgは よりも改善されているように思えますsetup.py。なぜなら、 は宣言型であり、パッケージをインストール可能にするために任意のコードを実行する必要がなく、悪意のある Python パッケージを配布することが難しくなり、Python パッケージ レジストリの実行が容易になるなどの利点があるからです。

それで、setuptoolsドキュメントはこちらsetuptools は、かなり最近のバージョンで setup.cfg をサポートするようになったと書かれています30.3.0 (8 Dec 2016)。これは新しい機能ですよね?

そうでもない。distutilssetup.cfg長い間支持されてきた少なくとも 2.6 以降です。すでに 9 年が経ちました。

同時に、wheelドキュメントはこちらは非推奨になったと言われておりsetup.cfg、パラメータ経由で環境マーカーを提供するのが望ましいですextras_require。また、setuptools についても言及されているので、非推奨になる可能性のある distutils フレーバーに関するものではありませんsetup.cfg

では、実際何が起こっているのでしょうか?廃止された方法なsetup.cfgのでしょうか、それとも最新の方法なのでしょうか?

ベストアンサー1

最近の動向についていくつか補足しておきます。

ペップ518は、2016 年に最初に起草され、2020 年 4 月に最終版とされました。私はこれを、pyproject.tomlの代わりにを使用するよう勧めるものと解釈していますsetup.cfg。PEP から引用します。

セットアップツールで一般的なフォーマットとして使用されるファイルには2つの問題がありますsetup.cfg。1つは、.ini設定パーサー上記の説明を参照してください。もう 1 つは、そのファイルのスキーマが厳密に定義されたことがないため、setuptools のインストールを混乱させることなく、どの形式を今後使用しても安全であるかが不明であることです。

からブラックのドキュメント:

ペップ518pyproject.tomlPythonプロジェクトのビルドシステム要件を保存するための構成ファイルとして定義されています。またはフリットsetup.pyおよびファイルの必要性を完全に置き換えることができますsetup.cfg

ピップ 19.0(2019-01-22) 実装ペップ517プロジェクトが を介してビルド バックエンドを指定できるようにしますpyproject.toml

ペップ621これは、pyproject.toml にプロジェクト メタデータを保存するための標準的な方法を指定しており、2021 年 3 月 3 日に最終版としてマークされました。

setuptools「」というタイトルの未解決の問題があります。setup.cfg最終的には自動変換により廃止されるpyproject.toml「」。

免責事項:私は感じる 完全に 私自身、Python のパッケージングのジャングルで迷子になりました。

推奨される追加資料: setup.py を直接呼び出さない理由ポール・ガンスル著。

おすすめ記事