Reputation: 932
I am using amazon ec2 ubuntu 11.04 server
sudo pip install python-snappy
also I tried to downloaded package and entered "sudo python setup.py install"
I got the error:
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
How i could get rid of this error?
source: https://github.com/andrix/python-snappy
Upvotes: 65
Views: 70360
Reputation: 1
Mac OS - Apple Silicon
If you have Apple Silicon, home-brew installs to /opt/homebrew by default.
So, the command changes to:
$ brew install snappy
$ CPPFLAGS="-I/opt/homebrew/include -L/opt/homebrew/lib" pip install python-snappy
For Intel Silicon, you need the path to be /usr/local/include & /usr/local/lib as suggested above.
FYI: By -I & -L, we ask pip to look for include and library files in the homebrew directory resp. (where snappy and other brew packages would be located).
Upvotes: 0
Reputation: 1762
You can install Snappy C library with following commands:
DEB-based: sudo apt-get install libsnappy-dev
RPM-based: sudo yum install csnappy-devel
Alpine (Docker) apk add --no-cache snappy-dev g++
openSUSE: sudo zypper in snappy-devel
MacOS: See Riley's answer below.
Upvotes: 144
Reputation: 1
For Windows
Extract the Zip.
Copy the .h
files from include folder. Paste in to the python installation folder
C:\Users\user\AppData\Local\Programs\Python\Python310\include\
Copy snappy64.lib
from native folder. Paste in to python installation folder
C:\Users\user\AppData\Local\Programs\Python\Python310\libs\
Rename snappy64.lib
to snappy.lib
you are good to go. Re-try command pip install -r .\requirements.txt
Upvotes: 0
Reputation: 21
Fix for macOS M1. You have to define absolute path to lib and include for snappy.
brew install snappy
pip install \
--upgrade --ignore-installed \
python-snappy==0.5.4 \
--global-option=build_ext \
--global-option="-I/opt/homebrew/Cellar/snappy/1.1.9/include" \
--global-option="-L/opt/homebrew/Cellar/snappy/1.1.9/lib"
Upvotes: 2
Reputation: 1326
To solve this issue in Mac OS X with MacPorts installed, you can do:
$ sudo port install snappy
$ CPPFLAGS="-I/opt/local/include -L/opt/local/lib" pip install python-snappy
Upvotes: 0
Reputation: 1323
If you are on Mac OS X Catalina, you can install with
brew install snappy
CPPFLAGS="-I/usr/local/include -L/usr/local/lib -stdlib=libc++ " pip install python-snappy
as suggested by https://github.com/andrix/python-snappy FAQ
Upvotes: 2
Reputation: 31
for Oracle Linux with Python 3.X:
you need to enable optional_latest repository as a first step,
use for enabling the following repo
$ yum-config-manager --enable ol7_optional_latest
"ol7_optional_latest" repo will be enabled for yum lookup.
then install packages using,
$ yum -y install gcc gcc-c++ snappy snappy-devel
then with pip install the python-snappy package,
$ pip3 install python-snappy
Upvotes: 3
Reputation: 6566
You need Snappy C library
Then you have to install python-snappy wrapper.
It seems you didn't install Snappy-C library
Try it ..as already a fellow commented for your post
UPDATE: See more highly upvoted post below, which includes instructions to install on DEB-based, RPM-based, and Mac OS (Brew).
Upvotes: 22
Reputation: 1082
I was having troubles with this for a while. FYI I'm trying to install Crossbar (https://crossbar.io/docs/Installation-on-Linux/)
I did a bunch of googling and messed around quite a bit. I'm using Python 3.7.4 and what I think solved my problem is this :
sudo yum install python-devel
if that doesn't work try
sudo yum install python3-devel
source:
https://github.com/giampaolo/psutil/issues/1143#issuecomment-475354786
https://github.com/giampaolo/psutil/issues/1143
Upvotes: 0
Reputation: 95
I had some trouble getting snappy to install. Finally downloaded the pre-build stuff as offered by https://www.lfd.uci.edu/~gohlke/pythonlibs/ and all went well. (Unofficial Windows Binaries for Python Extension Packages)
Upvotes: 3
Reputation: 1258
According to the repo
How to install it on Mac OS X?
It has been reported a few times (Issue #7 and #23) that it can't be installed correctly the library in Mac. The procedure should be,
$ brew install snappy # snappy library from Google
$ CPPFLAGS="-I/usr/local/include -L/usr/local/lib" pip install python-snappy
Upvotes: 60
Reputation: 426
You need to check the output for
rpm -q snappy-devel
If it is not present, then install it using this command:
yum install snappy-devel
Upvotes: 2
Reputation: 20778
had lots of issues installing on El Capitan, with an error saying that the snappy-c.h file was not found.
Had to install snappy from tar.gz file https://github.com/google/snappy/releases/download/1.1.3/snappy-1.1.3.tar.gz
untar and run
./configure
make
make install
it will put the header file in
/usr/local/include
then needed to set FLAGS for the cc compiler to find the header file:
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"
and then I installed python-snappy from the egg file https://pypi.python.org/packages/b1/fe/1d632cdac5dbb5ce84db778af7f733eb469130d8cf4c02f6cd9057a96768/snappy-2.4.1-py2.7-macosx-10.5-intel.egg#md5=b76558c71f1d97feeb8402c345e466bf
you can try with pip install python-snappy
but it originally failed to find the header file, so i went for the egg file
to install the egg:
easy_install <eggfile>
python setup.py build
python setup.py install
Upvotes: 2
Reputation: 29
Upvotes: 2