I think we need to flip the dependencies so that pip as the installer has all the essential code for installation from PyPI and then setuptools and distlib depend on that pip infrastructure. No need to add anything to the standard library prematurely when we can add it to pip instead.
not sure about the flip, but let me break some things down a bit for those who don't know:
what pip has internally already (i.e. literally in it's package namespace):
- pypi crawling/downloading
- wheel installing (does not require the pypi wheel project; only building wheels requires that)
what pip has "bundled' already:
- distlib (in 'pip.vendor'; currently only used for some --pre version logic)
what pip still needs to be self-sufficient to do wheel installs:
- something bundled or internal that does what pkg_resources does
theoretical options:
1) bundle setuptools/pkg_resources
2) use the bundled distlib to replace our use of pkg_resources
3) internalize pkg_resources as pip.pkg_resources (i.e. fork off pkg_resources)
Marcus