4 ms·
I'm entirely mystified how people can get pip to work for anything that isn't either quite simple or is a shrink-wrapped product with carefully, and manually, s
by lostmyoldone 7y ago
I'm entirely mystified how people can get pip to work for anything that isn't either quite simple or is a shrink-wrapped product with carefully, and manually, selected versions of every component.
Anyway, conda isn't really aimed at either of these scenarios. It's aimed at people doing research, data science, etc, where you are likely to use a sprawling assortment of packages, many of bewildering complexity, and entirely without the time to tinker with which package version works with which.
The naive algorithm that pip use, which essentially is to grab the latest version of everything often doesn't cut it in these scenarios. Conda, with all it's warts, actually does dependency resolution, which it's why it's so much "slower", it does something completely different from pip.
As pip and conda can coexist today, I simply install what's not available in conda/conda-forge with pip, and have a much easier time manage all my dependencies.
If you do anything in data science, or similar, it's rarely a problem that things doesn't exist in conda, because they almost always do, which is not the case with all kinds of packages.
- Doxin 7y ago> I'm entirely mystified how people can get pip to work for anything that isn't either quite simple or is a shrink-wrapped product with carefully, and manually, selected versions of every component. That might be down to which sorts of packages you're using. By far most projects I work on pip does entirely fine without manually specifying versions. I have rarely ran into version conflicts and when I have it's usually resolved by pinning a single package version. The thing where I really see people trip with pip is when a package requires compiling a C module. Pip somewhat silently assumes you've got a working C compiler and all header files for the package. The error messages here are confusing and unhelpful for most python programmers. The whole push towards universal wheels is alleviating this problem but the current state of things is suboptimal. Add to that the whole confusing state of creating python packages in general and you get a nice mix of dysfunctional packages and packages that'd work with the right headers. None of this is really pips fault and anaconda doesn't fix all of these issues either. In my experience pip is mostly just harder to get started with but is afterwards a much better solution simply because pip doesn't hide anything from you which is a great boon when debugging packaging issues.