[Python-Dev] [Distutils] how to easily consume just the parts of eggs that are good for you

Paul Moore p.f.moore at gmail.com
Thu Apr 10 00:46:19 CEST 2008

On 09/04/2008, Stanley A. Klein <sklein at cpcug.org> wrote:
>  I think you raise an interesting issue:  What is a package manager?

My (very simplistic) answer is that it's whatever someone uses to
manage packages. What level of functionality it has is irrelevant, as
long as it suits an individual's way of working.

>  I don't think I ever said that Windows is broken in the area of package
>  management.

I hope I didn't say you had - but it is an often-raised point, and it
does grate on me (as by implication, it says that what I do isn't
"real" package management). It's just another flavour of the old
Windows vs Linux OS wars, which I don't want to participate in :-)

>  My own experience is that the files of Windows programs tend
>  to be put in a directory devoted to the program, rather than put in
>  directories with other files having similar purposes.  At one time, the
>  default location in Windows for word processing files was even in a
>  sub-directory of the word processing program.  That changed to having a
>  form of user home directory, but it didn't change much for the program
>  files themselves.  Unix/Linux puts the files in specific areas of the file
>  system having functional commonality.  One could almost say that the
>  Windows default approach to structuring its filesystem avoids or minimizes
>  the need for package management.

Agreed. The minimal package manager on Windows is arguably reasonable
precisely because the standard layout doesn't require much more.

On the other hand, Microsoft has a bad habit of changing their
"standards", and in particular Vista changes a lot of things. But
that's very off-topic, so I'll avoid going into detail here.

>  I repeat that this issue mainly arises because Windows doesn't have the
>  same kind of filesystem structure (and therefore the need for package
>  management) that other systems have.  I don't know what Windows add/remove
>  programs function does, but all it might do is to run the executable to
>  install packages and record the installation (as was previously done by
>  third party programs) to facilitate clean removal.

Precisely. I could argue that the Linix filesystem structure is over
complex, and causes the need for complex package managers, precisely
because it's impossible to manually keep track of what file is owned
by what package. But this way lies OS wars, so I won't make a major
point of this, but just ask that people consider it as a possibility.

(I believe that Mac OS X goes for an even simpler structure -
applications store *everything* in the one directory, so that
install/uninstall is simply a directory copy/remove. I won't comment
on what that proves...)

>  Unless you can perform
>  more of the other functions I listed above, I doubt I would call
>  add/remove a package manager.

OK. I would, though, as I don't really want much more.

Later, you said:

> I just don't do Windows.  :-)

And you've been pretty clear that you're looking for information
rather than trying to explain how you think Windows should work. But
many people aren't so balanced in their views, and that makes it hard
to have a discussion - I'd suggest that people without Windows
experience leave the Windows side to the Windows people, and accept
that when they say "XXX won't work for us", that the statement is
probably true.

I find this whole discussion hugely confusing, because a lot of people
are stating opinions about environments which it seems they don't use,
or know much about. I don't know how to avoid this, but it does make
it highly unlikely that any practical progress will get made.


More information about the Python-Dev mailing list