[Python-Dev] "setuptools has divided the Python community"

Olemis Lang olemis at gmail.com
Wed Mar 25 14:32:27 CET 2009

On Wed, Mar 25, 2009 at 7:25 AM, Antoine Pitrou <solipsis at pitrou.net> wrote:
> Paul Moore <p.f.moore <at> gmail.com> writes:
>> 3. Setuptools, unfortunately, has divided the Python distribution
>> community quite badly.
> Wait a little bit, and it's gonna be even worse, now that buildout and pip seem
> to become popular. For example, the TurboGears people are considering switching
> from setuptools to pip...

Yes ... this is certainly true ...

> Tarek is now doing a lot of very useful work on distutils (thanks Tarek!), but
> I'm not sure it'll be enough to stop people from converting to whatever of the
> many build/packaging systems which have been popping up recently.

Sometimes it also happens that, once one such build/packaging systems
is adopted, it is difficult to switch to using another one, since apps
(... and plugins systems ...) are frequently hard-coupled to the pkg
sys «exotic features» and support (... what comes to my mind right now
is Trac plugins which are a little bit dependant on setuptools entry
points and so on ...).

>> My (unfounded) suspicion is that the argument
>> was "having to use a separate installer is more complex than just
>> using easy_install" - which is a highly debatable (and frequently
>> debated!) point of view.
> I'm not a Windows user, but I suppose it boils down to whether people are
> comfortable with the command-line or not (which even many Windows /developers/
> aren't).

Perhaps there is a little bit more contextual info that I miss ...
however I wanted to say something about this ... I'm not a Windows
user either (... although I do use Windows hosts pretty often for
testing or development purposes ;). In my case I use Ubuntu Hardy and
«Debian-children-or-brothers» ...

At least I see a point in using easy_install since ...

- it is quite easy to install the latest pkgs directly from PyPI ...
- Fresh dependencies are also retrieved from there ...

... but I dont actually use it (... I do use setuptools since apps are
tightly coupled with it ;), what I do is to use distutils exts to
build deb pkgs. Those are the ones that get actually installed in my
PC ... I prefer this way since:

- I avoid the kind of chaos created by easy_install due to the fact
that I cant control and manage my file/pkg associations and inter-pkg
dependencies ... so there are some kind of «dangling» references to
files ... and I dont like that ... I like philosophies like the one
behind dpkg + apt  ...

- I can safely remove the packages formerly installed, including
dependencies and so on ...

... however this means that ...

- Quite often distros only include stable pkgs and sometimes official
debs are not up to date, ... I dont like that ...

- Packaging involves an extra effort ...

I definitely would like to see the day when :

- easy_install allow me to control in detail my installs, pks, deps &
uninsts ... and `--record` is not enought for that ... IMO

- distutils extensions for debs be distributed with core (similar to
rpms | msi ...), however it is possible that some dependency issues be
around ... I know this is a potentially long debate possibly for
distutils SIG ;)

- debs can be uploaded to & distributed in PyPI ... this way it could
be even possible to make easy_install use these debs and try to
install them using the underlying Debian support libs ... in case they
be installed ... and this is nothing but some kind of crazy «random
idea» ...

... and since that day on I think I'll be seriously considering
easy_install as a candidate for my installs, even if there are some
other side-effects while using setuptools ... ;)

> Since having GUIs for everything is part of the Windows philosophy,
> it's a fair expectation that Python libraries come with graphical Windows
> installers.

Possibly yes ... in my case, I dont pretty like GUI installers (but I
understand that other people might like them ...) and still I build
them for Py pkgs in Win32 systems, since doing so I can control what's
happenning with them (not as well as with apt + dpkg ... but at least
I can cleanly remove them ;), however I need to handle dependencies by
hand ... :$

Well ... all this is IMO ... and I am not a proficient easy_install
user either, so CMIIW ... ;)



Blog ES: http://simelo-es.blogspot.com/
Blog EN: http://simelo-en.blogspot.com/

Featured article:

More information about the Python-Dev mailing list