2017-07-03 2 views
2

Es ist mir nicht ganz klar, was ist der Status von setup.cfg. Ich suche nach Lösungen für meine other question über PEP 508 Umgebungsmarker, und ich wurde völlig verwirrt.Ist 'setup.cfg' veraltet?

Ich scheint es, dass setup.cfg ist eine Verbesserung gegenüber setup.py, weil es deklarative ist, ist nicht mit beliebigem Code ausführen Paket installierbar zu machen, macht es schwieriger, bösartige Python-Pakete zu verteilen, macht es einfacher, Python Paket Register usw. laufen

Also, here in setuptools docs es ist erwähnt, dass setuptools Unterstützung für setup.cfg in 30.3.0 (8 Dec 2016) Version, die ziemlich neu ist. Also, das muss eine neue Sache sein, oder?

Nicht ganz. distutils had support for setup.cfg for a long time, mindestens seit 2.6. Es ist schon 9 Jahre her.

Zur gleichen Zeit, here in wheel docs wurde gesagt, dass setup.cfg ist jetzt veraltet, und es ist bevorzugt, Umgebungsmarkierungen über extras_require Parameter bereitzustellen. Und es erwähnt setuptools, also handelt es sich nicht um möglicherweise veraltete Distutils von setup.cfg.

Also, was ist eigentlich los? Ist setup.cfg veraltet oder die aktuellste Methode?

Antwort

1

Nein, setup.cfg es ist nicht veraltet und die Dokumentation, die Sie erwähnen, ist irreführend.

Es gab ernsthafte Gründe wie Sicherheit im Zusammenhang mit der Tatsache, dass setup.py benötigt Ausführung und das ist der Hauptgrund, sich davon zu entfernen. Hier

ist der schmutzige Trick für Extras:

[options.extras_require] 
pdf = ReportLab>=1.2; RXP 
rest = docutils>=0.3; pack ==1.1, ==1.3