[Distutils] PEP 345, PEP 376, PEP 386

Tarek Ziadé ziade.tarek at gmail.com
Thu Jun 4 14:54:50 CEST 2009

> I'd say that it's distutils' responsibility not to offer to uninstall
> anything it didn't install.

> Yep. Though I think that nowdays dpkg installs to a different directory than
> Distutils' default. So users have to specify extra options to break
> their systems.

But how does those third-party install the projects ?

Don't they use Distutils' install command under the hood ?

If so, the new PEP 376 APIs are ignoring previous versions of
egg-infos and work only with the ones that complies with the new
standard (it's a quick control right now,  look at the "is_egg_info"
API in http://bitbucket.org/tarek/pep376/src/tip/pkgutil.py)

So, in any case the uninstall command will not work with project that
are filtered out by is_egg_info().

So maybe we could add a "INSTALLER" file with a unique md5 key
provided by the project that installed the package,
and ask for the key when calling this API ? If not provided, it would
use Distutils's md5 key


More information about the Distutils-SIG mailing list