Skip to content

python setup.py install doesn't install snappy._snappy_cffi module #83

Open
@todofixthis

Description

@todofixthis

Related: #78, #69

Repro

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

  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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions