[Distutils] [pyconuk] "Python Package Management Sucks"
ms at cerenity.org
Wed Sep 24 14:31:27 CEST 2008
On Wednesday 24 September 2008 01:24:51 Jim Fulton wrote:
> > Setuptools and PyPI are light years behind CPAN in regards to
> > creating a usable, reliable method of package deployment.
> Behind, yes. Light years? I don't think so.
People have been complaining about python package management for the entire
time I've used python. Now, I'm not old timer for python only 6 and a bit
years or so - after having rejected it originally 10 years ago, but people
have definitely been complaining for 6 years at least.
Now before that I'd been writing perl code for many years, and they'd had this
system stolen from the TeX community (CTAN) which they'd called CPAN and that
had been actively useful to everyone in the Perl community from the first
time I came across perl (which was 10 years ago).
Now, with python there's the general ethos:
There should be one-- and preferably only one --obvious way to do it.
And with perl there's the general ethos:
There's more than one way to do it
Anyone who's written extensive amounts of code in both languages will know
that the latter ethos does cause major problems in practice.
However for packaging, with python the rule is
* "There's more than one way to do it"
And for perl the rule is:
* Use CPAN
I've always found this difference amusing, and never said much about this
because one of my earliest experiences of the python "community" was seeing
a poor perl developer at Europython in 2005 ripped to shreds by (someone I
would expect nicer behaviour from) for merely suggesting "hey, the perl
people actually have figured this out and have one obvious way to do it".
Now, personally, given that CPAN (which I think borrowed the idea from CTAN -
I think - I definitely heard of CTAN first) has worked very happily for the
perl community for the past 10 years (the time I've used perl for), and given
that the python community still has problems (pyinstall being the latest in
the saga), maybe the time has come to recognise that perl maybe isn't "light
years" ahead on this, but actually is a decade ahead at least.
After all, the question:
* What do I use to package my code
*IS* a discussion point for python.
For Perl, it's a FAQ with the answer being "CPAN".
Sure, CPAN has had (and probably still has occasionally) problems, and it is
far from perfect but at least the perl people DO have one obvious way to do
Heck, in python its a discussion so old that people become INCREDIBLY ratty
about it, and so on that note since I'll probably get flamed to hell and back
for the above (given what happened at Europython a few years back), I'll back
out quietly now.
More information about the Distutils-SIG