在 Alpine Linux 上的 python 上安装 snappy 时出现问题

Problems installing snappy on python on Alpine Linux

当我尝试在 alpine linux 上安装 Snappy 时使用: pip 安装 snappy 当它尝试安装名为 cypari 的必需软件包时出现以下错误。

我从 "apk add snappy"

安装了 snappy
    gcc -fno-strict-aliasing -Os -fomit-frame-pointer -g -DNDEBUG -Os -fomit-frame-pointer -g -fPIC -Ilibcache/pari64/include -I/usr/include/python2.7 -c cypari_src/_pari.c -o build/temp.linux-x86_64-2.7/cypari_src/_pari.o
In file included from cypari_src/_pari.c:460:0:
cypari_src/implementation.c:47:22: fatal error: execinfo.h: No such file or directory
 #include <execinfo.h>

我通过 运行 apk add libexecinfo libexecinfo-dev

解决了这个问题

然后使用apk add snappy

然后使用 pip install python-snappy

如果您使用 pip install snappy,它会安装一个完全不同的库,即 this

安装 execinfo-dev 就足够了,因为 execinfo.h 在那个包里。

你可以在这里查看:

http://pkgs.alpinelinux.org/contents?file=execinfo.h&path=&name=&branch=&repo=&arch=

apk add snappy

将安装包,因此您不需要:

pip install snappy

为了扩展@dwardu 的回答,我还必须安装 snappy-dev 包。这修复了我从 pip install:

得到的这个错误

snappy-c.h: No such file or directory

结合之前的答案,这个最小的 Dockerfile 适合我

FROM python:3.6-alpine

RUN apk add --no-cache g++ snappy-dev && \
    pip install --no-cache-dir --ignore-installed python-snappy