On Thu, May 15, 2014 at 2:38 PM, Donald Stufft <don...@stufft.io> wrote: > > On May 15, 2014, at 1:55 PM, Daniel Holth <dho...@gmail.com> wrote: > >> This is not a hole. >> >> Historically there has been VERY STRONG resistance to any practical, >> incremental improvements to packaging. Instead we are expected to come >> up with something that is ideal and fully formed. The results is that >> packaging is not often improved. >> >> The proposal is just a way to make setup.py work a little better. We >> are going to have setup.py forever, but we hope it will not be the >> primary way to make new packages. We are going to have lists of >> requirements forever. We are going to need setup & build requirements >> specifications that actually work. Allowing a list of requirements in >> setup.cfg or a text file is a very simple way to move in the right >> direction. > > I'm completely for incremental improvements *which move us closer towards the > final end goal*. Hacking in this support is not that. > > It'll only reasonably work in pip 1.6+ and won't in older versions of pip nor > easy_install, zc.buildout, or direct setup.py invocations. This represents an > official recommended backwards compatibility break. It is much better to be > able to work on either new formats or improvements to the existing formats > which don't require changing the fundamental API contract of the old formats. > > Hacking it in by the project creating a fake setup.py that does the work is > a much better solution since it doesn't break the API contracts and it doesn't > represent another pseudo format that we'll have to support indefinitely.
I think it's unfair to say that a single field in a simple text file constitutes a pseudo-format from which you can extrapolate limitless amounts of future pain and pip-maintaining difficulty, or that including a list of requirements in a text file is a hack at all. It is just the simplest thing that could possibly work. In the meantime the present duress continues: people continue to write setup.py that is only able to use setuptools + distutils, continue to have a more difficult time practically attempting to write setuptools replacements that might have setup-requires dependencies, while waiting for vaporware. But it's probably a good idea to write the boilerplate setup.py that will make setup_requires actually work. If it is popular then the installers will eventually be forced to support the format in order to be able to impose their own policies on setup-requires dependency installs. _______________________________________________ Distutils-SIG maillist - Distutils-SIG@python.org https://mail.python.org/mailman/listinfo/distutils-sig