A good time to acknowledge that CPAN was a very influential example for internet libraries that came afterward. I got a lot out of it for years, time to say thanks! You guys in the Perl community were awesome and still are! A shout out to CTAN too!
CPAN is 20
21–30 of 39 posts
Re: CPAN is 20
#22Re: CPAN is 20
#23in Perl : there is really one way to do it, use CPAN.
in Python : there's more than one way to do it : pth, eggs, setuptools, pip, wheel, distutils, easy_install,...
http://lucumr.pocoo.org/2012/6/22/hate-hate-hate-everywhere/
Re: CPAN is 20
#24Are there package formats older than CPAN? Which is the oldest one? I did some digging and it seems that RPM, DEB etc were created after 1993 so perhaps CPAN could be father of packaging formats.
I don't know when the Debian package format was first created, but dpkg was rewritten in C back in '94[1], so it would predate CPAN. However the real genius of package managers is dependency resolution and the central software repositories - both of which likely came a little while after dpkg. I'd be interested to read more on the history of Debian's package management though - if anyone does find a reference.
[1] https://anonscm.debian.org/cgit/dpkg/dpkg.git/plain/main/mai...
Re: CPAN is 20
#25For libraries: in Perl : there is really one way to do it, use CPAN. in Python : there's more than one way to do it : pth, eggs, setuptools, pip, wheel, distutils, easy_install,... http://lucumr.pocoo.org/2012/6/22/hate-hate-hate-everywhere/
> pip, wheel
Package formats: egg, wheel
Packaging/Install libraries: setuptools (incl. easy_install), pip, distutils
Install method: pth
It looks less daunting when you don't make every item look like a replacement for itself. I notice that under Perl you don't list ".tar.gz" ".tgz" ".tar.bz2" and ".tar.xz" in the list of "ways to do it."
Also:
* Wheels are (at least officially) considered the way forward. Support for other formats is legacy. Yes, this is less ideal than keeping a simple package format for 20 some odd years, but Python also really didn't take off in popularity until ~2002 despite being almost as old as Perl. Also, it makes sense to improve the state of things when necessary (e.g. creating wheels vs. sticking with eggs) rather than doing nothing.
* distutils was a fork of setuptools that has since been merged back into setuptools. Counting it twice doesn't speak to the current state of things.
* easy_install is the installation command that is part of the setuptools package, so including it in the list is counting the same thing twice. (I'll notice that you didn't include any CPAN wrappers as "different ways to do it.")
> in Perl : there is really one way to do it, use CPAN.
http://search.cpan.org/~miyagawa/App-cpanminus-1.7039/bin/cp...
https://github.com/chromatic/CPAN-Dark
http://search.cpan.org/~jhthorsen/App-git-ship-0.19/lib/App/...
http://www.perlmonks.org/?node_id=1028999
http://search.cpan.org/~sunnavy/Shipwright-2.4.41/lib/Shipwr...
Re: CPAN is 20
#26For libraries: in Perl : there is really one way to do it, use CPAN. in Python : there's more than one way to do it : pth, eggs, setuptools, pip, wheel, distutils, easy_install,... http://lucumr.pocoo.org/2012/6/22/hate-hate-hate-everywhere/
> in Python : there's more than one way to do it : pth, eggs, setuptools, pip, wheel, distutils, easy_install,... > pip, wheel Package formats: egg, wheel Packaging/Install libraries: setuptools (incl. easy_install), pip, distutils Install method: pth It looks less daunting when you don't make every item look like a replacement for itself. I notice that under Perl you don't list ".tar.gz" ".tgz" ".tar.bz2" and ".tar.…
> distutils was a fork of setuptools
This is incorrect. Setuptools is an extension of distutils (it patches and extends distutils to have additional functionality). Distribute was a fork of Setuptools that has been merged back into Setuptools.
Also, `pth` is not a installation method - it's merely a way to customize the import system. It's a very scary feature as it allows one to execute arbitrary code (that can reside in the `.pth` file) when import paths are being set up (when the `site` module is being initialized).
Re: CPAN is 20
#27My experience from a decade ago was different than most here, I had not so much luck with CPAN. Many libraries and projects, but most of them alpha or abandoned. It took a lot of time to find stuff that was built well enough for production and was still maintained.
It's highly likely that your experience was simply due to the problem domain you were looking at. If i were to look at something i work with, 3d graphics, my results would look much the same as what you said.
That doesn't mean all of CPAN's like that though.
Re: CPAN is 20
#28Re: CPAN is 20
#29Earlier quoted context omitted.
> in Python : there's more than one way to do it : pth, eggs, setuptools, pip, wheel, distutils, easy_install,... > pip, wheel Package formats: egg, wheel Packaging/Install libraries: setuptools (incl. easy_install), pip, distutils Install method: pth It looks less daunting when you don't make every item look like a replacement for itself. I notice that under Perl you don't list ".tar.gz" ".tgz" ".tar.bz2" and ".tar.…
`easy_install` is not a library per se, it's a binary offered by setuptools. > distutils was a fork of setuptools This is incorrect. Setuptools is an extension of distutils (it patches and extends distutils to have additional functionality). Distribute was a fork of Setuptools that has been merged back into Setuptools. Also, `pth` is not a installation method - it's merely a way to customize the import system. It's a…
I thought that I clarified that in my post, but if you could tell me what was confusing, I'll use that to inform future discussions I have on this.
> This is incorrect. Setuptools is an extension of distutils (it patches and extends distutils to have additional functionality). Distribute was a fork of Setuptools that has been merged back into Setuptools.
Correct, and one reason why the landscape has been confusing for a while (confusion between distutils/setuptools/distribute). Thankfully distribute has been merged back into setuptools.
> Also, `pth` is not a installation method
You're right. It's a way to customize the import system, but it's "main" usage in the wild is during installation/setup. The main place that I've seen it used is with easy_install + eggs (IIRC).
Re: CPAN is 20
#30My experience from a decade ago was different than most here, I had not so much luck with CPAN. Many libraries and projects, but most of them alpha or abandoned. It took a lot of time to find stuff that was built well enough for production and was still maintained.
What exactly were you looking for? Which libraries did you find that were alpha or abandoned? It's highly likely that your experience was simply due to the problem domain you were looking at. If i were to look at something i work with, 3d graphics, my results would look much the same as what you said. That doesn't mean all of CPAN's like that though.