[Numpy-discussion] linux wheels coming soon

Nathaniel Smith njs at pobox.com
Thu Apr 14 15:07:54 EDT 2016


On Apr 14, 2016 11:11 AM, "Benjamin Root" <ben.v.root at 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/numpy-discussion/attachments/20160414/d1633173/attachment.html>


More information about the NumPy-Discussion mailing list