安装python-snappy时出错:snappy-c.h:没有这样的文件或目录

时间:2012-07-10 14:52:08

标签: python gcc

我正在使用amazon ec2 ubuntu 11.04服务器

 sudo pip install python-snappy 

我也尝试下载包并输入“sudo python setup.py install”

我收到了错误:

  running build
  running build_ext
  building 'snappy' extension
  gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/usr/include/python2.7 -c snappymodule.cc -o build/temp.linux-x86_64-2.7/snappymodule.o
  cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for Ada/C/ObjC but not for C++ [enabled by default]
  snappymodule.cc:31:22: fatal error: snappy-c.h: No such file or directory
  compilation terminated.
  error: command 'gcc' failed with exit status 1

我怎么能摆脱这个错误?

来源:https://github.com/andrix/python-snappy

11 个答案:

答案 0 :(得分:71)

您可以使用以下命令安装Snappy C库:

基于DEB: sudo apt-get install libsnappy-dev

基于RPM: sudo yum install libsnappy-devel

Brew: brew install snappy

答案 1 :(得分:15)

根据repo

如何在Mac OS X上安装?

有几次报道(问题#7和#23)无法正确安装Mac中的库。 程序应该是,

$ brew install snappy # snappy library from Google 
$ CPPFLAGS="-I/usr/local/include -L/usr/local/lib" pip install python-snappy

答案 2 :(得分:14)

你需要Snappy C library

然后你必须安装python-snappy包装器。

好像你没有安装Snappy-C库

试试吧..已经是你的帖子的评论

答案 3 :(得分:3)

对于具有Python 3.X的Oracle Linux:

首先需要启用optional_latest存储库,

  1. 用于启用以下存储库

    $ yum-config-manager --enable ol7_optional_latest

    将启用“ ol7_optional_latest”存储库以进行yum查找。

  2. 然后使用

    安装软件包

    $ yum -y install gcc gcc-c++ snappy snappy-devel

  3. 然后使用pip安装python-snappy软件包,

    $ pip3 install python-snappy

答案 4 :(得分:2)

在El Capitan上安装了很多问题,错误地说找不到snappy-c.h文件。

必须从tar.gz文件安装snappy https://github.com/google/snappy/releases/download/1.1.3/snappy-1.1.3.tar.gz

解压并运行

./configure
make
make install

它将把头文件放入 /usr/local/include

然后需要为cc编译器设置FLAGS以找到头文件:

export DYLD_LIBRARY_PATH=/usr/local/include
export CPPFLAGS="-I/usr/local/include/snappy-c.h"
export CFLAGS="-I/usr/local/include/snappy-c.h"
export CXXFLAGS="-I/usr/local/include/snappy-c.h"
export LDFLAGS="-L/usr/local/lib"

然后我从egg文件中安装了python-snappy https://pypi.python.org/packages/b1/fe/1d632cdac5dbb5ce84db778af7f733eb469130d8cf4c02f6cd9057a96768/snappy-2.4.1-py2.7-macosx-10.5-intel.egg#md5=b76558c71f1d97feeb8402c345e466bf

你可以试试pip install python-snappy 但它最初找不到头文件,所以我去了鸡蛋文件

安装鸡蛋:

easy_install <eggfile>
python setup.py build
python setup.py install

答案 5 :(得分:2)

如果您使用的是 Mac OS X Catalina ,则可以使用

进行安装
brew install snappy
CPPFLAGS="-I/usr/local/include -L/usr/local/lib -stdlib=libc++ " pip install python-snappy

https://github.com/andrix/python-snappy常见问题解答建议

答案 6 :(得分:1)

您需要检查输出

rpm -q snappy-devel

如果不存在,则使用以下命令安装它:

yum install snappy-devel

答案 7 :(得分:0)

安装快照时遇到一些麻烦。最终下载了https://www.lfd.uci.edu/~gohlke/pythonlibs/提供的预构建内容,一切顺利。 (用于Python扩展程序包的非官方Windows二进制文件)

答案 8 :(得分:0)

这解决了我的问题:

yum install gcc-c++  

答案 9 :(得分:0)

有一段时间我对此感到烦恼。仅供参考,我正在尝试安装Crossbar(https://crossbar.io/docs/Installation-on-Linux/

我做了很多谷歌搜索,周围乱七八糟。我正在使用Python 3.7.4,我认为解决了我的问题的是:

sudo yum install python-devel

如果这不起作用,请尝试

sudo yum install python3-devel

来源:

https://github.com/giampaolo/psutil/issues/1143#issuecomment-475354786

https://github.com/giampaolo/psutil/issues/1143

答案 10 :(得分:0)

要在安装了MacPorts的 Mac OS X 中解决此问题,可以执行以下操作:

$ sudo port install snappy
$ CPPFLAGS="-I/opt/local/include -L/opt/local/lib" pip install python-snappy