这对我来说并不完全清楚,setup.cfg的状态是什么.我正在为我的other question寻找关于PEP 508环境标记的解决方案,我变得非常困惑.
对我而言,似乎setup.cfg是对setup.py的改进,因为它是声明性的,不涉及运行任意代码以使包可安装,使得分发恶意Python包更加困难,使得运行Python包注册表等更容易.
因此,here in setuptools
docs提到setuptools在30.3.0(2016年12月8日)版本中获得了对setup.cfg的支持,这是最新的.所以,这必须是一件新事物,对吧?
不完全的. distutils
had support for setup.cfg
for a long time,至少从2.6开始.已经9年了.
同时,here in wheel
docs据说现在不推荐使用setup.cfg,并且最好通过extras_require参数提供环境标记.它提到了setuptools,所以它不是关于setup.cfg可能已弃用的distutils风味.
那么,究竟发生了什么?是不赞成setup.cfg,还是最近的做事方式?
解决方法:
不,setup.cfg它不被弃用,你提到的文档有误导性.
有一些严重的原因,比如安全性,因为setup.py需要执行,这是摆脱它的主要原因.
这是额外的肮脏技巧:
[options.extras_require]
pdf = ReportLab>=1.2; RXP
rest = docutils>=0.3; pack ==1.1, ==1.3