Is `setup.cfg` deprecated?

天大地大妈咪最大 提交于 2019-12-03 13:37:05
sorin

Nope, setup.cfg it is not deprecated and the documentation you mention is misleading.

There were serious reasons like security related to the fact that setup.py needed execution and that's the main reason of moving away from it.

Here is the dirty trick for extras:

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

I'd like to add a few notes on recent developments:

PEP 518 is still in provisional status, but I'm interpreting it as an invitation to use pyproject.toml instead of setup.cfg. Quoting from the PEP:

There are two issues with setup.cfg used by setuptools as a general format. One is that they are .ini files which have issues as mentioned in the configparser discussion above. The other is that the schema for that file has never been rigorously defined and thus it's unknown which format would be safe to use going forward without potentially confusing setuptools installations.

From black's documentation:

PEP 518 defines pyproject.toml as a configuration file to store build system requirements for Python projects. With the help of tools like Poetry or Flit it can fully replace the need for setup.py and setup.cfg files.

pip 19.0 implemented PEP 517 to allow projects to specify a build backend via pyproject.toml.

setuptools has an open issue titled "Merge setup.cfg spec with pyproject.toml one and deprecate setup.py and setup.cfg". However, setuptools guys have not yet decided on this. There is an open discussion on how to proceed.

Disclaimer: I feel totally lost in Python's packaging jungle myself.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!