`python setup.py install` doesn't install `snappy._snappy_cffi` module
- 主要语言
- Python
- 星标
- 490
- 派生
- 104
- PR 合并指标
- 30 天内没有已合并 PR
描述
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.
贡献指南
这个仓库没有索引到贡献指南
调研方向
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.
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- python
- 领域
- build-system
- Issue 类型
- 缺陷
- 难度
- 3/5
- 预计耗时
- 1-2 天
- 活跃度
- 停滞
- 描述清晰度
- 基本清楚
- 新手友好度
- 35/100