pandas: BLD: Clang error while installing snappy in requirements-dev.txt

Problem description

I was going through the instructions in setting up the dev environment on Mac here:

Contributing to pandas

And while I was trying to execute the below code:

# Install the build dependencies
python -m pip install -r requirements-dev.txt

I got the below clang error (redacted):

Running setup.py install for python-snappy ... error
    ERROR: Command errored out with exit status 1:
     …
    clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/usr/include -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/System/Library/Frameworks/Tk.framework/Versions/8.5/Headers -I/usr/local/include -I/usr/local/opt/openssl@1.1/include -I/usr/local/opt/sqlite/include -I/Users/xxx/virtualenvs/pandas-dev/include -I/usr/local/Cellar/python/3.7.6_1/Frameworks/Python.framework/Versions/3.7/include/python3.7m -c snappy/snappymodule.cc -o build/temp.macosx-10.15-x86_64-3.7/snappy/snappymodule.o
    snappy/snappymodule.cc:31:10: fatal error: 'snappy-c.h' file not found
    #include <snappy-c.h>
             ^~~~~~~~~~~~
    1 error generated.
    error: command 'clang' failed with exit status 1
    ----------------------------------------
ERROR: Command errored out with exit status 1: …

I went through the rest of the virtual environment set up fine besides this issue.

About this issue

  • Original URL
  • State: closed
  • Created 4 years ago
  • Comments: 26 (24 by maintainers)

Most upvoted comments

On of the things that was mentioned above is that python-snappy is needed for building the IO user guide. From a quick test, after removing it from my dev env, the page still seems to build fine.

Also, fastparquet no longer depends on python-snappy (according to https://fastparquet.readthedocs.io/en/latest/install.html#requirements it now uses cramjam for all different compression codecs). So we can actually remove some skips from the parquet tests.

So I think we can actually just remove this altogether.

Gotcha. Yea so if we don’t actually need it I would be OK to remove from the requirements files

@kendricng something you would be interested in submitting a PR for?

Looks like this was added in #26657 and has a comment on master that it is required for pyarrow - @datapythonista any chance you know what this is?