Python Packages and Environments with Conda
continuum.io
continuum.io
I've suffered with pip doing almost everything I need but then struggling to install scipy etc. Any competitor to the space that can alleviate the pain is most welcome.
I know Armin had a rant about this last year [0]. Would love to hear thoughts by people that understand this far better than me.
[0] http://lucumr.pocoo.org/2012/6/22/hate-hate-hate-everywhere/
That said, I'd still rather have a leiningen equivalent.
It is even more confusing because Anaconda is concerned with installing OS packages, configuration and initialization.
I can see this dialog happening:
-- Have you updated the package in Anaconda?
-- Yes. It installs the numpy package.
-- Ok cool. Make sure it also configures your yum repos.
-- What yum repos?
-- You know rpms repos?
-- There are no rpms in Anaconda?
While I agree that anaconda may be an inappropriate name, since it has been the Redhat, Fedora, RHEL installer for, I don't know, maybe 13 years, this isn't really a concern. You don't "update a package in Anaconda". You don't even interact with it ever again once installation is completed, and most lay-users would never know what anaconda is unless they pay attention to the fine print during install.
It manages dependencies that aren't python packages.
Furthermore, it allows multiple, side-by-side installations of said dependencies in a user's home directory. And it's cross platform.
None of the current solutions can do that... (Even including full-blown package managers, as they're effectively limited to a single platform.)
I'm not saying that pip is going anywhere, but they did have very good reasons for making yet another python package manager.
At any rate, pip is really fantastic, and I use it constantly.
However, being able to handle non-python dependencies is huge in the scientific world, where lots of python packages have a _lot_ of non-python dependencies. Widely-used packages (e.g. numpy, matplotlib, scipy, etc) don't have very many, and are well supported, but a lot of the less widely-used packages can be a real pain to build.
I'm excited about it because conda has the potential to replace a couple of virtual machines I currently keep around for this purpose. I'll certainly admit it's not a majority use-case, but if it works as advertised it will be very useful for me, at any rate.
We think conda is a useful tool, and have freed it for use by everyone.
Perhaps something like pip + a better virtualenv + wheel would be close, but we needed something that works now.