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

Popular posts from this blog

PySide and Qt Properties: Connecting signals from Python to QML -

c# - DevExpress.Wpf.Grid.InfiniteGridSizeException was unhandled -

scala - 'wrong top statement declaration' when using slick in IntelliJ -