| > 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.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... http://perlbrew.pl/ |
* In the Python world, pip replaces/supplants/simplifies away easy_install much in the same way that cpanm/cpanminus made things much easier than the regular cpan command, or even cpanplus (at least in my experience). I feel like listing of "CPAN" as a whole, while breaking out "pip" and "easy_install" is disingenuous in light of this.
* CPAN is just the distribution network (plus all of the meta stuff like search.cpan.org, metacpan, cpantesters, etc). Python also has a single distribution network: The Python Package Index (aka PyPI / "the cheeseshop").
* Talking about distutils/setuptools/distribute is the same as talking about many of the tools that are used to manage Perl packages/modules (I can't recall their names off the top of my head, but there are at least 2 or 3 of them, and they all generate their own Makefiles/etc for doing things). It's possible that these have been simplified away in the last few years (since I've been in Perl-land), but the legacy is still there (much like the legacy of Python's various distribution/packaging setup libraries).
I will admit, that as a whole, I like CPAN better than PyPI, if only for the fact that it's easy to fetch the author/package/etc lists as a gzip-ed text file whereas most tools interacting with PyPI are basically screen-scraping the website (rather than having a simple/easy api).