intake / intake/python-snappy

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

Ouverte
#83 6 commentaires 6 réactions 0 personnes assignées Voir sur GitHub
Langage dominant
Python
Étoiles
490
Forks
104
Métriques de merge des PR
Aucune PR mergée en 30 j

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 ()
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)
in ()
----> 1 import snappy

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

~/Documents/python-snappy/snappy/snappy.py in ()
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 ()
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.

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Piste de recherche

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.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
python
Domaine
build-system
Type d'issue
Bug
Difficulté
3/5
Temps estimé
1-2 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
35/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.