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 it.
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.