manylinux: Missing libpython with Debian default Python install
I am testing manylinux numpy wheels.
In particular, I am testing this guy: http://nipy.bic.berkeley.edu/manylinux/numpy-1.10.4-cp27-none-linux_x86_64.whl
With a default install, test of Python, starting with either Wheezy or Jessie:
docker run -ti --rm -v $PWD:/io debian:latest /bin/bash
docker run -ti --rm -v $PWD:/io tianon/debian:wheezy /bin/bash
and running this script:
apt-get update
apt-get install -y python curl
curl -sLO https://bootstrap.pypa.io/get-pip.py
python get-pip.py
pip install -f https://nipy.bic.berkeley.edu/manylinux numpy nose
python -c "import numpy; numpy.test()"
I get this:
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/usr/local/lib/python2.7/dist-packages/numpy/__init__.py", line 180, in <module>
from . import add_newdocs
File "/usr/local/lib/python2.7/dist-packages/numpy/add_newdocs.py", line 13, in <module>
from numpy.lib import add_newdoc
File "/usr/local/lib/python2.7/dist-packages/numpy/lib/__init__.py", line 8, in <module>
from .type_check import *
File "/usr/local/lib/python2.7/dist-packages/numpy/lib/type_check.py", line 11, in <module>
import numpy.core.numeric as _nx
File "/usr/local/lib/python2.7/dist-packages/numpy/core/__init__.py", line 14, in <module>
from . import multiarray
ImportError: libpython2.7.so.1.0: cannot open shared object file: No such file or directory
Sure enough, in order for the wheel to work, I need:
apt-get install libpython2.7
Maybe we need to add a check / informative error message for the presence of libpython?
About this issue
- Original URL
- State: closed
- Created 8 years ago
- Comments: 46 (43 by maintainers)
@SylvainCorlay At Panda3D we also have a need to embed the interpreter. We solve this by just building a fork of manylinux1 which has as only difference that it doesn’t delete libpython.a from the container: https://github.com/panda3d/manylinux
See #91, which talks about this use case.
Because clearly the system doesn’t have the python header files (
apt-get install python-dev), otherwise they’d also have libpython.