I think it would be highly desirable to add support for pip to handle the upgrade from distribute 0.6 to 0.7. You'll note that because 0.7 depends on setuptools 0.7 that 0.7 has already been downloaded. Perhaps a shim like you propose would work, or it's also conceivable that distribute 0.7 could include a setuptools 0.7 source tree which pip could leverage (but not install). Yes, PEP 439 will be awesome, but I think this important milestone for setuptools is also essential to simplify the landscape in order to help migrate users in a sustainable way to the new tools, so we've got to find a way to make it happen for the good of the eco system. From: qwelby@gmail.com [mailto:qwelby@gmail.com] On Behalf Of Marcus Smith Sent: Sunday, 09 June, 2013 17:54 To: Jason R. Coombs Cc: Liam Kirsher; distutils-sig@python.org Subject: Re: [Distutils] Setuptools/Distribute error with 0.7.2 It was only working in python2 before now anyway. (https://github.com/pypa/pip/issues/650) pip is fundamentally dependent on setuptools to perform upgrades. with distribute-0.6.X upgrades, even though pip uninstalled distribute as part of the upgrade, it ran the install subprocess with the cwd equal to the build dir, so it could import setuptools from the unpacked download. but now, distribute-0.7 is just a shell, that contains no importable setuptools that pip can use. we could *make* it work I guess, by enforcing non-standard logic when dealing with distribute (i.e. get setuptools-0.7 installed first; by default, setuptools gets queued to be installed after the distribute upgrade) but like I said before, it's much more motivating to think about PEP439, than this dreary setuptools/distribute legacy headache stuff. Marcus the best fix I think is to move faster on making pip "PEP439 compliant" - i.e. have pip be able to at least install from wheels w/o needing setuptools, which would remove the bootstrap headache - see https://github.com/pypa/pip/issues/863 - this could likely involve pip replacing it's use of pkg_resources with distlib (https://github.com/pypa/pip/pull/909) Marcus