On 20 Jan 2015 09:11, "Ben Finney" <ben+pyt...@benfinney.id.au> wrote: > > Tres Seaver <tsea...@palladion.com> writes: > > > On 01/19/2015 04:57 PM, Ben Finney wrote: > > > My current position would be: that's a bug in Setuptools, it should > > > not be applying entry points defined for package FOO when running the > > > setup for some other package BAR. > > > > > > Is that right? Should I report a bug against Setuptools for this > > > behaviour? > > > > Notabug. setuptools itself is extensible by means of entry points. > > Both entry points in your example (as cited by Marius) demonstrate > > that: one adds support for a new keyword argument to 'setup()'[1], and > > the other defines a new "writer" for 'egg-info'[2]. By design, both of > > those are supposed to be loaded / available for any invocation of > > 'setup()' in a Python where the are installed (not merely for packages > > which "mention" them). > > I can see the logic when it's explained, but that doesn't make it not a > bug IMO. That's a pretty astonishing behaviour: a declaration in the > setup for one package has a mystifying effect on the setup of other > packages. > > I won't press the point. Hopefully, though, someone does consider it a > bug worth fixing.
It's an artefact of setuptools's origins in the Chandler project: it assumes it *is* the build infrastructure for the entire integrated system, which is thoroughly wrong in the context of a Linux distribution. easy_install has the same origins and hence the same problematic assumptions. On the installation side, changing the underlying design assumption to "potentially only one component of a larger system" is one of the most critical differences between easy_install and pip. I'd like to see us achieve a similar replacement on the build side as well, but cross platform build support is such a hard problem that it's currently easier to tolerate the occasional quirk than it is to figure out a viable transition plan to migrate to a less surprising build management system. Cheers, Nick. P.S. For example, Meson is an interesting project that I encountered at LCA2015 last week and would like to learn more about. In particular, it apparently has a JSON based metadata format aimed at implementation independent integration between IDEs and build systems that may be well worth exploring further. > > -- > \ “To have the choice between proprietary software packages, is | > `\ being able to choose your master. Freedom means not having a | > _o__) master.” —Richard M. Stallman, 2007-05-16 | > Ben Finney > > _______________________________________________ > Distutils-SIG maillist - Distutils-SIG@python.org > https://mail.python.org/mailman/listinfo/distutils-sig
_______________________________________________ Distutils-SIG maillist - Distutils-SIG@python.org https://mail.python.org/mailman/listinfo/distutils-sig