在树莓派上安装scikit-image时出现问题

时间:2020-05-13 11:54:23

标签: python raspberry-pi scikit-image

我正在尝试在树莓派上安装sci-kit映像,但遇到了一些问题。以前,它给我的错误是文件'libaec.h'丢失。我使用pip安装了libaec,然后解决了该错误。但是,现在这给了我错误“ blosc.h”丢失。我设法用pip安装blosc,但错误仍然存​​在(仅显示错误消息的最后一部分):

   building 'imagecodecs._blosc' extension
    arm-linux-gnueabihf-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -Iimagecodecs -I/usr/include/python3.7m -I/usr/lib/python3/dist-packages/numpy/core/include -c imagecodecs/_blosc.c -o build/temp.linux-armv7l-3.7/imagecodecs/_blosc.o
    In file included from /usr/include/python3.7m/numpy/ndarraytypes.h:1822,
                     from /usr/include/python3.7m/numpy/ndarrayobject.h:12,
                     from /usr/include/python3.7m/numpy/arrayobject.h:4,
                     from imagecodecs/_blosc.c:598:
    /usr/include/python3.7m/numpy/npy_1_7_deprecated_api.h:17:2: warning: #warning "Using deprecated NumPy API, disable it with " "#define NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION" [-Wcpp]
     #warning "Using deprecated NumPy API, disable it with " \
      ^~~~~~~
    imagecodecs/_blosc.c:602:10: fatal error: blosc.h: No such file or directory
     #include "blosc.h"
              ^~~~~~~~~
    compilation terminated.
    error: command 'arm-linux-gnueabihf-gcc' failed with exit status 1

    ----------------------------------------
Command "/usr/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-install-txmkharf/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-record-1ugl_qdj/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-install-txmkharf/imagecodecs/
pi@raspberrypi:~ $ sudo pip3 install blosc
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Requirement already satisfied: blosc in /usr/local/lib/python3.7/dist-packages (1.9.1)
pi@raspberrypi:~ $ 

关于如何解决此问题的任何想法? blosc是否位于正确的位置?如果没有,该如何将其移至正确的位置?

3 个答案:

答案 0 :(得分:3)

在安装依赖于图像编解码器的软件包时遇到了相同的问题。我可以通过使用以下方式将点子从版本18更新到版本20来解决该问题:

pip3 install --upgrade pip

答案 1 :(得分:0)

嗯。程序包中可能存在混淆。尝试卸载blosc,然后重新安装。如果问题仍然存在,请尝试卸载并重新安装所有已安装的软件包。我唯一能想到的是,在那之后是否要使用软件包安装程序,例如anaconda。有时候,它可以创造奇迹!希望对您有帮助。

答案 2 :(得分:0)

我相信imagecodecs不会使用已安装的blosc,而是使用其自己的版本,这就是为什么安装blosc会无济于事的原因。如果您查看imagecodecs page on PyPI,则可以找到以下帮助信息:

要在当前基于Debian的Linux发行版上安装从源代码构建图像编解码器的要求,请运行:

$ sudo apt-get install build-essential python3-dev cython3 python3-setuptools python3-pip python3-wheel python3-numpy libz-dev libblosc-dev liblzma-dev liblz4-dev libzstd-dev libpng-dev libwebp-dev libbz2-dev libopenjp2-7-dev libjpeg62-turbo-dev libjxr-dev liblcms2-dev libtiff-dev

另一方面,他们也说:

从源代码构建图像编解码器包可能是一个挑战。

手指越过那些指示对您有用!