[Distutils] Distutils functionality questions/clarifications...

Paul Moore p.f.moore at gmail.com
Wed Jun 3 19:07:34 CEST 2009

2009/6/3 David Lyon <david.lyon at preisshare.net>:
> On Wed, 3 Jun 2009 10:33:46 +0100, Paul Moore <p.f.moore at gmail.com> wrote:
>> *If* there was an existing "python package manager", it is possible
>> that it would provide compelling enough features to convince me to
>> change my mind. Build it and I'll tell you. Hey, build even some of it
>> and I'll comment on what you have ....
> ok - that's fair enough... done....
> Just follow the download link...
> http://sourceforge.net/projects/pythonpkgmgr/

Runs OK for me. I got it from Subversion and I'm running from source, FWIW.

It recognises 4 of the packages I have installed, but doesn't see wxPython.

So how do I install something? There's an "Install egg" menu item, so
I guess I have to go & download an egg :-( (I think I already
mentioned I don't like setuptools/eggs...)

No egg for download for pygame. So you'll need to persuade them to
build eggs. Or for nose. Or cx_Oracle. Sigh, this isn't looking good
at the moment.

Fouund an egg for genshi, I'll give it a try. (But it's
version-specific, I have to download the Python 2.6 version, when
genshi appears to be pure-python. That's a particular annoyance of
eggs coming up again.

Never mind.

Tried to install the egg - I got an error "Execution of command
C:\Users\Gustav\Documents\Genshi-0.5.1-py2.6-win32.egg' failed (error
740: the requested operation requires elevation.)" Looks like you need
to support Windows Vista elevation. That's an advantage of normal
(bdist_wininst or bdist_msi) installers - the system seems to do the
elevation prompt for you.

OK, that's as far as I can go without Vista support.

Plus points:
* It doesn't look bad for what I assume is a relatively new project
* It detected (some of) my existing packages

Minus points:
* It uses eggs, and so even pure-python packages have to be
distributed in version-specific binaries. Looks like I'll end up
spending even more time building my own packages with this system
* It doesn't work on Vista - bdist_wininst work unchanged on Vista,
and so does easy_install genshi (by hand) so it's your code that needs
updating (and may well need doing so again for Win7, etc...)
* I can't install so I can't test uninstall, etc.
* I can't tell at this stage if it uses the .pth files that
easy_install does (but I guess so).
* I assume that if I used it to uninstall one of my
bdist_wininst-installed packages, it would fail to uninstall properly
(leave the Add/Remove programs stuff behind). It should either do it
properly or not allow it.

So it's inheriting all the (in my view) bad points of eggs (that I've
documented previously). I misunderstood your intention, I thought you
were proposing something new - rather than simply wrapping
eggs/easy_install to make it more acceptable to people like me. That's
a reasonable goal (and you're not doing badly at it) but it leaves all
of the fundamental non-UI issues with eggs intact.

And I see nothing in this which would persuade a package developer who
wasn't already distributing eggs to switch to doing so. So there's
still the availability issue. (Made worse as your package, unlike
easy_install, doesn't seem to be willing to consume source packages or
bdist_wininst exes).

I hope this helps.

More information about the Distutils-SIG mailing list