On Apr 14, 2016 11:11 AM, "Benjamin Root" <ben.v.root@gmail.com> wrote:
>
> Are we going to have to have documentation somewhere making it clear that the numpy wheel shouldn't be used in a conda environment? Not that I would expect this issue to come up all that often, but I could imagine a scenario where a non-scientist is simply using a base conda distribution because that is what IT put on their system. Then they do "pip install ipython" that indirectly brings in numpy (through the matplotlib dependency), and end up with an incompatible numpy because they would have been linked against different pythons?
>
> Or is this not an issue?

There are always issues when you have two different package managers maintaining separate and out-of-sync metadata about what they think is installed, but that's true for any mixed use of conda and pip.

But:
- pip won't install a numpy that is incompatible with your python, unless Anaconda is actively breaking cpython's standard abi (they aren't) or there's a bug in pip (possible, but no reports yet).
- conda packages for python packages like numpy do generally include the .egg-info / .dist-info directories that pip uses to store its installation metadata, so pip can "see" packages installed by conda (but not vice-versa). So "pip install matplotlib" won't drag in a pypi numpy if there's already a conda numpy installed.

AFAIK the one case that's nasty is if you first install a conda X, and then install a pypi X, and then try to use conda to (explicitly, or implicitly via dependencies) upgrade X. And maybe this is particularly nasty for X=numpy just because numpy is so low in the stack, but it's not really numpy specific. (NB I'm not an expert on the internals of conda though :-).)

Actually, from the numpy developer point of view, one of the major advantages of having wheels is that we can ask people to test prereleases with 'pip install -U --pre numpy'. If you're a conda user you should only do this in a temporary environment (like any use of pip really), but I definitely hope that some conda users will do exactly that to test things :-).

Also note that there's nothing Linux specific about this scenario. We've been shipping osx wheels for ages, and AFAIK it hasn't caused any disaster.

-n