On Jul 18, 2013, at 4:36 PM, Paul Moore <p.f.mo...@gmail.com> wrote:
> On 18 July 2013 18:24, Marcus Smith <qwc...@gmail.com> wrote: > > I think it's still useful to have pip vendor just pkg_resources (as > pip.pkg_resources). It's easy, it gives you enough to install wheels, > and it's not the only thing you would do. > > I agree. there's 2 problems to be solved here > > 1) making pip a self-sufficient wheel installer (which requires some > internal pkg_resources equivalent) > 2) removing the user headache of a setuptools build *dependency* for > practically all current pypi distributions > > for #2, we have a few paths I think > > 1) bundle setuptools (and have pip install "pkg_resources" for console > scripts, if it existed as a separate project) > 2) bundle setuptools (and rewrite the console script wrapper logic to not > need pkg_resources?) > 3) dynamic install of setuptools from wheel when pip needs to instal sdists > (which is 99.9% of the time, so this feels a bit silly) > 4) just be happy that the pip bootstrap/bundle efforts will alleviate the > pain in new versions of python (by pre-installing setuptools?) > > As you say, for #1 using an internal pkg_resources (probably distlib's, why > bother vendoring a second one?) works. > > Given that pip forces use of setuptools for *all* sdist builds, I think we > have to bundle it for that purpose. I really dislike the need to do this, but > I don't see a way round it. And if we do, we can just as easily use the real > pkg_resources as distlib's emulation. > > As regards console scripts, I think they should be rewritten to remove the > dependency on pkg_resources. That should be a setuptools fix, maybe triggered > by a flag (possibly implied by --single-version-externally-managed, as the > pkg_resources complexity is only needed when multi-versions are involved). If > Jason's not comfortable with the change, then we'll probably have to find > some way of doing it within pip, which will likely to be a fairly gross hack > (unless we go really bleeding-edge and don't pit scripts into a wheel *at > all* (or just omit exes and -script.py files, I don't know) and put the > exports metadata in the wheel assuming that it's the wheel installer's job to > create the wrappers. We can do that for pip install, and we just have to > assume that other tools (wheel install, distlib) will do the same. > > TBH, my preference is for the metadata approach, do it correctly from the > start. > > Paul > _______________________________________________ > Distutils-SIG maillist - Distutils-SIG@python.org > http://mail.python.org/mailman/listinfo/distutils-sig Console scripta aren't the only use of entry points fwiw. THere's other entry points programs use. I don't know if they all depend on setuptools or if just assume it's there. Technically the should depend but that would break things for those people. I think either way pkg_resources is going to need to be installed, but setuptools won't. ----------------- Donald Stufft PGP: 0x6E3CBCE93372DCFA // 7C6B 7C5D 5E2B 6356 A926 F04F 6E3C BCE9 3372 DCFA
signature.asc
Description: Message signed with OpenPGP using GPGMail
_______________________________________________ Distutils-SIG maillist - Distutils-SIG@python.org http://mail.python.org/mailman/listinfo/distutils-sig