[Distutils] Distutils and Distribute roadmap (and some words on Virtualenv, Pip)

A. Cavallo a.cavallo at cavallinux.eu
Thu Oct 29 08:44:03 CET 2009

> A typical windows user, if they see an .exe installer, they would just
> install it by double-clicking on it. I don't know how many winodw users
> would automatically think to open a command shell and type the command
> line.

None in fact and it is a make or break requirement in so many companies that 
if anyone is thinking of dropping bdist_wininst should rethink of it.

If it goes away I have to discourage use of python because in no case a 
language specific way to install things will ever replace the platform 
standardised way.

I'll give you an anecdotal example: I worked in a company developing systems 
for an extremely larger one. Our software needn't any installer: just unzip 
the thing and start to using it. Simple? You bet it cannot be any easier than 
One of the contractual requirements was about providing an "installer" for 
windows: no matter how easy it was to deploy the thing.

This makes sense because their way to manage systems has been standardised in 
that way (the windows way, like it or hate it): no matter how clever our 
system was, it was extremely expensive to them doing it in "our" way.

> In all seriousness, a bdist_wininst installer would be ok for installing
> a python application, but the support for applications in distutils for
> windows is incomplete.

It is just enough to allow people to work: dependencies are handled manually 
and this goes in a project requirement document. An exception on a missing 
module it is just fine to give a hint about what is missing and trigger a user 

> .egg files are perfect for windows. But the neccessary python support
> to make them work properly isn't complete either.
> What I am referring to here, is the shell extensions to the registry
> to make them load automatically.
> It would be so nice if we could double click on an egg file on pypi,
> download it, and install it automatically.
> I can't think of anything simpler. That would be proper native windows
> support.

I disagree here and reinventing a package/dependencies manager to compete with 
cpan and rpm/dpkg/yum/zypper/synaptic/windows installers ... thanks no I don't 
feel any need for it.

Ever heard of SuSE one click installer? It does exactly this for rpms. 
In windows clicking on a web link with an *.exe trigger the action you're just 
asking for already: no need to support another language-specific layer.

> We would only have to add one script to distutils and a few registry
> settings for this could be accomplished. It could be progressively
> rolled out with new python versions.

Sure and imagine a company stretching across three continents with hundred 
developers and many more users and slightly different settings/python 
versions: do you think anything like this will ever work in real life? How 
does anybody going to handle the chain of trust (yes sooner or later somebody 
will ask THIS question)?
Again my solution will be easy: drop python off the list of language to 
develop with.

> >From my perspective, PJE did a heck of a lot of good work. EGG files
> are a good idea. As long as they get unpacked and installed as any
> other python package on arrival.

Excellent last point aiming straight to the problem: I cannot agree more.


More information about the Distutils-SIG mailing list