[Distutils] Confusion of a hobby programmer

Paul Moore p.f.moore at gmail.com
Mon Feb 18 22:50:49 CET 2013


On 18 February 2013 19:56, Don Question <donquestion at rocketmail.com> wrote:
> lately i was wondering (again) if i should put my small python projects on
> pypi, and reevaluated (again) the required package-format. And quite frankly
> im confused (again) as so many times before. I count at least 5 major and 3

You are right, the state of documentation is less than ideal. And
sadly, searching the web turns up too much that isn't directly
relevant to someone who just wants to package up a project. And
*everything* is coloured by too much opinion and history.

However, it's actually pretty simple.

Read the Python documentation - "Distributing Python Projects" - which
explains how to use distutils. It doesn't do a perfect job, but it's
not bad. And distutils does fine for straightforward scenarios. Ask on
this list of python-list if you have questions. You may well find that
you don't need anything more than this.

If you hit something that distutils can't handle (the most likely is
that you want to include dependency handling in your build) you should
look at distribute. Again the documentation (at
http://pythonhosted.org/distribute/) is reasonably good - although it
suffers from a tendency to "sell" distribute features rather than just
documenting them. It has a number of useful extensions to distutils
that may be exactly what you need. But really, a lot of packages don't
need distribute. (Ignore setuptools, it's essentially an older version
of what distribute now offers, but is otherwise identical). Also be
careful with distribute - there are features in there (for example
eggs) that are generally viewed as no longer best practice. My
personal recommendation with distribute is to only use what you are
sure you need.

You should never need to go any further than this. There's other
documentation round on the web, and lots of people willing to help,
but you'll also get plenty of opinions and debate - and until you have
some experience, it can be hard to evaluate that information, as
you've found.

Once you have more experience, you may want to venture further. You
won't need to, but you might find that there are aspects of the basic
tools that annoy you enough that you want to start looking for
"better" alternatives. But by then you should have enough experience
to make a judgement over what's helpful and what isn't.

Sorry the picture isn't better - you're right, it should be - but
stick to the basics, it's not too bad.

Paul.

PS The above is my opinion - and just as with anything else you hear,
it's likely to be debated hotly by others. Take it for what it's worth
:-)


More information about the Distutils-SIG mailing list