8

Hi I am trying to install scikit image in a virtual environment on ubuntu 18.04.

It fails when it tries to install imagecodecs, I tried to install imagecodecs separately but it gives the same error which is something due to blosc. I installed blosc separately but somehow this still fails.

    /usr/include/python3.6m/numpy/npy_1_7_deprecated_api.h:15:2: warning: #warning "Using deprecated NumPy API, disable it by " "#defining NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION" [-Wcpp]
     #warning "Using deprecated NumPy API, disable it by " \
      ^~~~~~~
    imagecodecs/_blosc.c:602:10: fatal error: blosc.h: No such file or directory
     #include "blosc.h"
              ^~~~~~~~~
    compilation terminated.
    error: command 'x86_64-linux-gnu-gcc' failed with exit status 1

    ----------------------------------------
Command "/home/xxxx/im_an/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-ijwkwo7f/imagecodecs/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-4xtori6c-record/install-record.txt --single-version-externally-managed --compile --install-headers /home/xxxx/im_an/include/site/python3.6/imagecodecs" failed with error code 1 in /tmp/pip-build-ijwkwo7f/imagecodecs/

I hope that somebody could help me with this. Thank you

si_mon
  • 171
  • 1
  • 8

4 Answers4

4

Unfortunately imagecodecs wheels (pre-compiled binaries) are compatible only with pip 19.0 and newer, because they use the newer manylinux2010 standard. Upgrade pip (pip install -U pip) and try again, and things should work!

See these issues for reference:

https://github.com/scikit-image/scikit-image/issues/4673

https://github.com/scikit-image/scikit-image/issues/4674

Juan
  • 5,433
  • 21
  • 23
2

After struggling for a while, I solved this with:

pip3 install -U pip
Monica Heddneck
  • 2,973
  • 10
  • 55
  • 89
1

The development libraries (those including *h) are missing from your installation. You can install them like:

sudo apt-get install libblosc-dev

You will have issues with other libraries as well:

sudo apt-get install libbrotli-dev

etc.

Nandu Raj
  • 2,072
  • 9
  • 20
0

This happens because imagecodecs package relies on too many dependencies that your computer doesn't have, like libblosc and libbrotli as @user6131524 has said.

To install the dependencies:

 sudo apt-get install build-essential python3-dev cython3 python3-setuptools python3-pip python3-wheel python3-numpy python3-pytest python3-blosc python3-brotli python3-snappy python3-lz4 libz-dev libblosc-dev liblzma-dev liblz4-dev libzstd-dev libpng-dev libwebp-dev libbz2-dev libopenjp2-7-dev libjpeg-turbo8-dev libjxr-dev liblcms2-dev libcharls-dev libaec-dev libbrotli-dev libsnappy-dev libzopfli-dev libgif-dev libtiff-dev

I believe this will solve your problem in the most general way.

Van Teo Le
  • 164
  • 3
  • 11