[Distutils] Confusion of a hobby programmer

Lennart Regebro regebro at gmail.com
Mon Feb 18 22:00:43 CET 2013


OK, let's clear out some confusion.

On Mon, Feb 18, 2013 at 8:56 PM, Don Question
<donquestion at rocketmail.com> wrote:
> * distutils

Yes, this is the basic packaging system of Python, included in the
standard library.

> * setuptools

Extends distutils with many useful functions. However it is not under
much development. Use Distribute instead.

> * distribute

A fork of setuptools that sees more bugfixes. **Use this.**

> # bento

An alternative packaging system not used very much. Probably
fantastic, I haven't used it.

> * distutils2 (=packaging?!)

In development, not of interest for you, will not be ready for years.


The rest are not packaging systems.

> * easy_install

Is not a packaging system, but a script that setuptools and distribute installs.

> # pip

Not a packaging system but an installer. A better easy_install, if you like.

> # zc.buildout

Not a packaging system.,

> The next stop lead to the *official* (as in supposed guideline) python docs.
> But then it got me again. *setup.py* ?! I thought Ziade said 2011 something
> like: "No more setup.py!" (And if i recall correctly - wanted to be
> applauded for this achievment! ;-) )

Yes, that he said. You have been reading Tareks blog posts on the
development and evolution of the future packaging that he put in a lot
of energy in. But that's *future* and I'm pretty sure all his blog
posts do explain that he talks about things that he was working on,
not telling people that this is the state of packaging right now.

However, the Hitchikers guide to packaging doe try to be a guide to
packaging (hence the name).  http://guide.python-distribute.org/
It uses distutils and also talks about Distribute.

> And i'm not bitching (o.k. maybe a little bit;-) ) about the still
> unresolved, non-trivial task of creating the perfect packaging-system.

It's not non-trivial, it is impossible and will never happen. We'll
get something that is better than what we have now, someday, but it
will not be perfect. I don't really see what that has to do with
making a package today. Essentially, you can either use distutils, or
distribute which is distutils + a nuclear powered (and hence
radioactive) suit, or if you are religious about these things, you
probably want to use bento.

> What i'm really so sad about is the missing, or rather misleading and
> confusing pointer(s) for new pastry-chefs willing to contribute to the
> cheese-cake-shop as what to do.

What pointers are that exactly?

I've never seen anyone recommend anything else than Distribute or
sometimes Bento for years, excluding the official Python docs, that
obviously talk about distutils.

//Lennart


More information about the Distutils-SIG mailing list