alibi-detect
alibi-detect copied to clipboard
conda / mamba installation not working due to wrapt pinning
Trying to install alibi-detect
with the following command
mamba install -c conda-forge alibi-detect
as stated on Getting Started
causes the following error message
Encountered problems while solving:
- package alibi-detect-0.8.1-pyhd8ed1ab_0 requires wrapt >=1.12.1,<1.13.0, but none of the providers can be installed
Unfortunately, wrapt
seems not to be available currently on conda-forge for alibi-detects pinning.
Is there a specific reason why the newest wrapt
version might not work?
wrapt
isn't actually a direct dependency of alibi-detect
so we would need to find out which third party dependency has it pinned to versions that are not available on conda
.
First things first, did you run the command in a clean conda
environment? I cannot recreate the issue running the installation in a clean environment with Python 3.9, the wrapt
version that I end up with is 1.12.1
which is respected by the constraint showed in your message (the version is available on conda-forge in the link you provided). Which version of Python are you running?
Seocnd, running conda-tree I can see that the condition wrapt >=1.12.1,<1.13.0
comes from colorama
which is a dependency of tqdm
(although they say it's only required for Windows, but it got pulled in on my Linux machine automatically). None of this should matter too much though.
Third, I see your command pulls in version 0.8.1
of alibi-detect
but the latest stable version is 0.9.0
which is what I'm getting by default. This could be because you're running an older Python version?
Hey @jklaise thanks for the fast and insightful response!
sorry, if I may have misunderstood some things.
I have just created a new conda environment with
conda create --name alibi-detect python=3.10
and then ran
mamba install -c conda-forge alibi-detect=0.9.0
which again resulted in the following error
Encountered problems while solving:
- package alibi-detect-0.9.0-pyhd8ed1ab_0 requires wrapt >=1.12.1,<1.13.0, but none of the providers can be installed
Since I am somewhat new to conda and conda-recipes, I may have misinterpreted the requirements in the feedstock. Are these requirements somehow ignored?
Other ideas/solutions are of course highly appreciated!
Ah I see, those wrapt
and absl-py
are not requirements in the setup.py
of the repo but they've been included in the conda
recipe to pass some dependency consistency checks.
That being said, Python 3.10 support has not yet been released which might result in dependency errors like these. Can you try with Python 3.9?
I'll leave a note that once we release the next version with Python 3.10 support we may need to update the conda
recipe @ascillitoe.
I see.
Do you see any other solutions in the meantime than to just use --no-deps
with conda? (pip is currently no option).
(I can't test Python 3.9 right now, but will report back once I can)
I'm afraid I can't think of other solutions right now (other than installing from master
but I believe you have to use pip
for this), does the --no-deps
flag lead to a functioning installation?
I couldn't make it work with --no-deps
(though I can't exclude the error coming from conda / mamba itself) but solved it by building a new conda package without using the wrapt
dependency. This was on 3.10, though, on 3.9 everything seems to be working fine so far.
I have now removed wrapt
and absl-py
from our v0.10.0 conda recipe. However, installation on Python 3.10 is still not possible, since we require transformers
, and transformers
requires tokenizers
, the recipe for which requires python >=3.9,<3.10.0a0
.
I shall leave this issue open so that we can reassess the situation in the near future.