On Fri, 17 Jul 2015 at 16:37 Chris Barker <chris.barker@noaa.gov> wrote:
TL;DR -- pip+wheel needs to address the non-python dependency issue before it can be a full solution for Linux (or anything else, really)
<snip>
- Packages with semi-standard dependencies: can we expect ANY Linux distro to have libfreetype, libpng, libz, libjpeg, etc? probably, but maybe not installed (would a headless server have libfreetype?). And would those version be all compatible (probably if you specified a distro version) - Packages with non-standard non-python dependencies: libhdf5, lapack, BLAS, fortran(!)
I think it would be great to just package these up as wheels and put them on PyPI. I'd really like to be able to (easily) have different BLAS libraries on a per-virtualenv basis. So numpy could depend on "blas" and there could be a few different distributions on PyPI that provide "blas" representing the different underlying libraries. If I want to install numpy with a particular one I can just do: pip install gotoblas # Installs the BLAS library within Python dirs pip install numpy You could have a BLAS distribution that is just a shim for a system BLAS that was installed some other way. pip install --install-option='--blaslib=/usr/lib/libblas' systemblas pip install numpy That would give linux distros a way to provide the BLAS library that python/pip understands without everything being statically linked and without pip needing to understand the distro package manager. Also python packages that want BLAS can use the Python import system to locate the BLAS library making it particularly simple for them and allowing distros to move things around as desired. I would like it if this were possible even without wheels. I'd be happy just that the commands to download a BLAS library, compile it, install it non-globally, and configure numpy to use it would be that simple. If it worked with wheels then that'd be a massive win. -- Oscar