numcodecs: 0.6.4 install fails on Mac OSX, Windows CI machines
Minimal, reproducible code sample, a copy-pastable example if possible
We (https://github.com/napari/napari/issues/665) are running into errors installing dask / zarr on our mac osx and windows CI due to the recent 0.6.4 release. On our linux CI it installs fine. For mac and windows we end with the following, but please see the links above for the full stack traces:
ERROR: Failed building wheel for numcodecs
Problem description
Expected outcome is successful install
Version and installation information
Please provide the following:
- Value of
numcodecs.__version__
0.6.4 - Version of Python interpreter: 3.6 and 3.7
- Operating system: Windows and Mac
- How NumCodecs was installed: pip in our CI
About this issue
- Original URL
- State: closed
- Created 5 years ago
- Comments: 23 (17 by maintainers)
I’ve responded in the issue.
FWIW we also test builds on macOS (as of this release in fact) and Windows. So I think once the CI issue is sorted things will start working for you.
As of 0.7.1, we now build and publish wheels from CI to PyPI for macOS, Linux, and Windows. Would encourage people to give those a try and report back.
Going to go ahead and close this (assuming wheels have fixed the issue), though please feel free to reopen (or ping us to do so) if not. Thanks!
Yeah @jeromekelleher that’s what we are discussing in issue ( https://github.com/zarr-developers/numcodecs/issues/70 ). That or using wheels from some of our dependencies (like Blosc) to simplify the installation process here.
The issue is that people don’t know that they would need to do this because soft compile errors are non-standard. I don’t think pip lets you warn from a setup.py, so there is no way to let the user know something has failed until your code crashes with an importerror. If you get an error, then you know it doesn’t work and can pass the variable to disable the extensions and try again. Maybe we need to enhance the error message to tell people about this flag. We could also add something like
NUMCODECS_SILENT_COMPILE_ERRORS=1
to get back to the old behavior up front.