fcrimins commented on issue #1093:
URL:
https://github.com/apache/iceberg-python/issues/1093#issuecomment-2369589615
I must have missed the "Falling back to pure Python Avro decoder, missing
Cython implementation" warning during installation, but I was indeed missing
Cython, which was causing a different `decoder_fast` related error during `make
test`:
```bash
~/iceberg-python$ make test
poetry run pytest tests/ -m "(unmarked or parametrize) and not integration"
=========================================================== test session
starts ============================================================
platform linux -- Python 3.10.12, pytest-7.4.4, pluggy-1.5.0
rootdir: /mnt/c/Users/.../iceberg-python
configfile: pyproject.toml
plugins: mock-3.14.0, checkdocs-2.10.1, requests-mock-1.12.1,
lazy-fixture-0.6.3
collected 3588 items / 2 errors / 865 deselected / 2723 selected
================================================================== ERRORS
==================================================================
_______________________________________________ ERROR collecting
tests/avro/test_decoder.py ________________________________________________
ImportError while importing test module
'/mnt/c/Users/.../iceberg-python/tests/avro/test_decoder.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
/usr/lib/python3.10/importlib/__init__.py:126: in import_module
return _bootstrap._gcd_import(name[level:], package, level)
tests/avro/test_decoder.py:29: in <module>
from pyiceberg.avro.decoder_fast import CythonBinaryDecoder
E ModuleNotFoundError: No module named 'pyiceberg.avro.decoder_fast'
________________________________________________ ERROR collecting
tests/avro/test_reader.py ________________________________________________
ImportError while importing test module
'/mnt/c/Users/.../iceberg-python/tests/avro/test_reader.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
/usr/lib/python3.10/importlib/__init__.py:126: in import_module
return _bootstrap._gcd_import(name[level:], package, level)
tests/avro/test_reader.py:24: in <module>
from pyiceberg.avro.decoder_fast import CythonBinaryDecoder
E ModuleNotFoundError: No module named 'pyiceberg.avro.decoder_fast'
========================================================= short test summary
info ==========================================================
ERROR tests/avro/test_decoder.py
ERROR tests/avro/test_reader.py
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Interrupted: 2 errors
during collection !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
==================================================== 865 deselected, 2
errors in 23.91s ====================================================
make: *** [Makefile:42: test] Error 2
```
I was able to fix the test errors by following the Cython installation
instructions documented
[here](https://cython.readthedocs.io/en/latest/src/quickstart/install.html) and
then rebuilding.
```bash
~/iceberg-python$ sudo apt-get install build-essential python3-dev
~/iceberg-python$ pip install --user Cython
~/iceberg-python$ poetry build
```
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]