zarr-python
zarr-python copied to clipboard
asciitree has no wheels
Zarr version
all
Numcodecs version
NA
Python Version
all
Operating System
all
Installation
pip install --only-binary ':all:' zarr
Description
Zarr depends on asciitree, which does not publish wheel.
When trying to install and avoiding tar.gz for various reasons this make it harder to install zarr.
The --only-binary ':all:'
is useful in CI to make sure that binary artifact are available for all dependencies and usually to make sure the end user does not need to have a compiler. In some cases, you may want to ensure all your dependencies have wheels as you do not want code execution at install time. Plus, even for python, wheel install is usually faster, and dependency resolution does not need to run setup.py
.
Because if depends on asciitree, zarr is one package cannot be installed with --only-binary ':all:'
flag, and contaminate all the dependees. (you can use --no-binary asciitree to work around this specific dependency so not critical)
It would be great zarr would only rely on packages that have wheels.
As asciitree seem unmaintained, as author does not resond to issue asking for wheels, nor have seen a commit in 3years.
This is likely because its feature complete?
So solution might be:
- Vendor asciitree
- Repackage with wheel under a different package name (but same import name).
- Custom code.
Steps to reproduce
$ pip install --only-binary ':all:' zarr
Collecting zarr
Using cached zarr-2.14.2-py3-none-any.whl (203 kB)
...
Using cached zarr-2.5.0-py3-none-any.whl (131 kB)
ERROR: Cannot install zarr==2.10.0, ... zarr==2.9.4 and zarr==2.9.5 because these package versions have conflicting dependencies.
The conflict is caused by:
zarr 2.14.2 depends on asciitree
...
zarr 2.5.0 depends on asciitree
To fix this you could try to:
1. loosen the range of package versions you've specified
2. remove package versions to allow pip attempt to solve the dependency conflict
ERROR: ResolutionImpossible: for help visit https://pip.pypa.io/en/latest/topics/dependency-resolution/#dealing-with-dependency-conflicts
Additional output
No response