Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

`python setup.py install` doesn't install `snappy._snappy_cffi` module

Open
#83 6 comments 6 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
3/5
Estimated time
1-2 days
Newbie friendliness
35/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Stale
Tech stack
python
Domain
build-system

Research direction

Reproduce the failure with the listed Python 3.6 virtualenv steps, then compare python setup.py install with the working bdist_egg path. Inspect setup.py and the reported snappy._snappy_cffi, _snappy, and compiled extension files; done means a direct install allows import snappy without manually copying files.

Written by the indexing model from the issue text.

Description

Related: #78, #69

Repro

macOS 10.14.5, in a virtualenv with Python 3.6.9, python-snappy v0.5.4 (commit 602e9c10d743f71bef0bac5e4c4dffa17340d7b3)

  1. git clone https://github.com/andrix/python-snappy
  2. cd python-snappy
  3. git checkout master
  4. python setup.py build
  5. python setup.py install

Testing in IPython fails with the following error:

In [1]: import snappy
---------------------------------------------------------------------------
ModuleNotFoundError                       Traceback (most recent call last)
~/Documents/python-snappy/snappy/snappy.py in <module>()
     47 try:
---> 48     from ._snappy import UncompressError, compress, decompress, \
     49                          isValidCompressed, uncompress, _crc32c

ModuleNotFoundError: No module named 'snappy._snappy'

During handling of the above exception, another exception occurred:

ModuleNotFoundError                       Traceback (most recent call last)
<ipython-input-1-710a7f18823c> in <module>()
----> 1 import snappy

~/Documents/python-snappy/snappy/__init__.py in <module>()
      1 from __future__ import absolute_import
      2
----> 3 from .snappy import (
      4         compress,
      5         decompress,

~/Documents/python-snappy/snappy/snappy.py in <module>()
     49                          isValidCompressed, uncompress, _crc32c
     50 except ImportError:
---> 51     from .snappy_cffi import UncompressError, compress, decompress, \
     52                              isValidCompressed, uncompress, _crc32c
     53

~/Documents/python-snappy/snappy/snappy_cffi.py in <module>()
      1 from __future__ import absolute_import
      2
----> 3 from ._snappy_cffi import ffi, lib
      4
      5 try:

ModuleNotFoundError: No module named 'snappy._snappy_cffi'

Workaround

  1. python setup.py bdist_egg
  2. cd dist
  3. unzip python_snappy-0.5.4-py3.6-macosx-10.14-x86_64.egg
  4. cd snappy
  5. cp _snappy_cffi.abi3.so "${VIRTUAL_ENV}/lib/python3.6/site-packages/snappy/"

After performing the above steps, it is now possible to import snappy in a python shell without error.

(might also need to copy _snappy.py and _snappy.cpython-36m-darwin.so; not sure)

It appears that python setup.py install does not install these files.

Dominant language
Python
Stars
490
Forks
104
PR merge metrics
No merged PRs in 30d

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from intake/python-snappy

All issues in intake/python-snappy

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.