plone / plone.recipe.zope2instance

zc.buildout recipe to setup and configure a Zope 2 instance.
https://pypi.org/project/plone.recipe.zope2instance
6 stars 23 forks source link

Fix tox by telling pip to disregard pyproject.toml #102

Closed dataflake closed 5 years ago

dataflake commented 5 years ago

Fixes #98

dataflake commented 5 years ago

The best solution would be to move those towncrier settings into setup.cfg, where everyone else in the world puts settings, and then get rid of pyproject.toml altogether. I don't know if towncrier supports that. (I don't even know why towncrier is used at all, seems like a whole bunch of inconvenience just to maintain a change log)

mauritsvanrees commented 5 years ago

No, towncrier does not support reading setup.cfg files.

Discussion and reasons for towncrier can be found on this thread on community.plone.org. Occasionally it causes headaches, but mostly it avoids headaches. For me it is a win.

AFAIK, pyproject.toml is meant as the new standard for putting settings that you would until now put into setup.cfg. It is just silly that pip decided to break development installs on the basis that this file exists. And apparently this was an unintended side effect, which is reverted on master.

dataflake commented 5 years ago

Thanks for the explanation! And I do appreciate the fast turnaround today.

mauritsvanrees commented 5 years ago

O, and for laughs, pip itself is also using towncrier, which is how I learned of its existence a year ago. :-) It has a pyproject.toml file with towncrier settings and with these lines:

[build-system]
requires = ["setuptools", "wheel"]

I briefly tried if adding these lines to the pyproject.toml in plone.recipe.zope2instance helped, but it did not: you still need the --no-use-pep517 flag. The pip folks seem to have fixed this in their tox.ini by removing the usedevelop = True line. I guess that indeed helps for tox, but is not nice for local development.