[Numpy-discussion] Should I use pip install numpy in linux?

Nathaniel Smith njs at pobox.com
Fri Jan 8 22:13:56 EST 2016


On Fri, Jan 8, 2016 at 4:31 PM, Robert McGibbon <rmcgibbo at gmail.com> wrote:
>> Both Anaconda and Canopy build on a base default Linux system so that
>> the built binaries will work on many Linux systems.
>
> I think the base linux system is CentOS 5, and from my experience, it seems
> like this approach
> has worked very well. Those packages are compatible with all essentially all
> Linuxes that are
> more recent than CentOS 5 (which is ancient). I have not heard of anyone
> complaining that the
> packages they install through conda don't work on their CentOS 4 or Ubuntu
> 6.06 box.

Right. There's a small problem which is that the base linux system
isn't just "CentOS 5", it's "CentOS 5 and here's the list of libraries
that you're allowed to link to: ...", where that list is empirically
chosen to include only stuff that really is installed on ~all linux
machines and for which the ABI really has been stable in practice over
multiple years and distros (so e.g. no OpenSSL).

So the key next step is for someone to figure out and write down that
list. Continuum and Enthought both have versions of it that we know
are good...

Does anyone know who maintains Anaconda's linux build environment?

> I assume
> Python / pip is probably used on a wider diversity of linux flavors than
> conda is, so I'm sure that
> binaries built on CentOS 5 won't work for absolutely _every_ linux user, but
> it does seem to
> cover the substantial majority of linux users.
>
> Building redistributable linux binaries that work across a large number of
> distros and distro
> versions is definitely tricky. If you run ``python setup.py bdist_wheel`` on
> your Fedora Rawhide
> box, you can't really expect the wheel to work for too many other linux
> users. So given that, I
> can see why PyPI would want to be careful about accepting Linux wheels.
>
> But it seems like, if they make the upload something like
>
> ```
> twine upload numpy-1.9.2-cp27-none-linux_x86_64.whl \
>     --yes-yes-i-know-this-is-dangerous-but-i-know-what-i'm-doing
> ```
>
> that this would potentially be able to let packages like numpy serve their
> linux
> users better without risking too much junk being uploaded to PyPI.

That will never fly. But like Matthew says, I think we can probably
get them to accept a PEP saying "here's a new well-specified platform
tag that means that this wheel works on all linux systems meet the
following list of criteria: ...", and then allow that new platform tag
onto PyPI.

-n

-- 
Nathaniel J. Smith -- http://vorpus.org



More information about the NumPy-Discussion mailing list