Why python pandas does not provide Linux whl files -
i wondering why python pandas not provide .whl files pip install on linux. whl files available mac , windows, though. see: https://pypi.python.org/pypi/pandas/0.18.1
i
pip install pandas
but involves time-consuming process of building source. have continuous-integration system includes pandas build dependency, i'd have benefit of fast install binary .whl file without building source.
armin ronacher discusses @ length. fundamentally, linux distributions not sufficiently uniform , can't depend on presence of particular libraries link against; python library may inconsistent.
you can build own wheel environments using , install them many times like, should work fine continuous integration system:
$ pip wheel pandas collecting pandas downloading pandas-0.18.1.tar.gz (7.3mb) 100% |████████████████████████████████| 7.3mb 131kb/s ... built pandas $ ls pandas* pandas-0.18.1-cp35-cp35m-linux_x86_64.whl $ pip install pandas-0.18.1-cp35-cp35m-linux_x86_64.whl processing ./pandas-0.18.1-cp35-cp35m-linux_x86_64.whl ... installed pandas-0.18.1 python-dateutil-2.5.3 pytz-2016.4 six-1.10.0
note numpy provides linux wheel files on pypi. looking inside (they simple zip files) can see bundle usual numpy libraries such lapack_lite plus dependencies (gfortran , openblas in case):
$ unzip -l numpy-1.11.0-cp35-cp35m-manylinux1_x86_64.whl | grep [.]so ... 38407360 2016-04-12 21:01 numpy/.libs/libopenblasp-r0-39a31c03.2.18.so 1017104 2016-04-12 21:01 numpy/.libs/libgfortran-ed201abd.so.3.0.0 108200 2016-04-12 21:01 numpy/linalg/lapack_lite.cpython-35m-x86_64-linux-gnu.so ...
by contrast numpy installed o/s has lapack_lite linked /usr/lib/libblas, via debian alternatives system links against optimized libatlas, should have better performance (untested).
looking @ lapack links, using pretty standard libraries, should work on many 64-bit linux systems:
$ ldd lapack_lite.cpython-35m-x86_64-linux-gnu.so linux-vdso.so.1 => (0x00007fffadf7a000) libopenblasp-r0-39a31c03.2.18.so => /tmp/numpy/linalg/./../.libs/libopenblasp-r0-39a31c03.2.18.so (0x00007f5efb8bc000) libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f5efb69e000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f5efb2d9000) libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f5efafd3000) libgfortran-ed201abd.so.3.0.0 => /tmp/numpy/linalg/./../.libs/libgfortran-ed201abd.so.3.0.0 (0x00007f5efacda000) /lib64/ld-linux-x86-64.so.2 (0x00007f5efe0d4000)
presumably volunteer create wheels pandas well, , keep them date across different versions of python. note pandas .so files link against libpython, somehow numpy avoids doing despite making python calls.
edit 2016-05-25: added instructions building , installing wheels.
Comments
Post a Comment