openml/automlbenchmark

Error while installing autogluon-tabular[skex]

liam-sbhoo opened this issue · 4 comments

Context:
I'm pretty new to automl-benchmark, so I was just trying to run some simple benchmarks according to the documentation. Along this line, I tried running python runbenchmark.py autogluon and I get the following error - the environment seems to fail in installing autogluon-tabular[skex].

Error:

ERROR: Cannot install autogluon-tabular[skex]==0.7.0, autogluon-tabular[skex]==0.8.0, autogluon-tabular[skex]==0.8.1, autogluon-tabular[skex]==0.8.2, autogluon-tabular[skex]==1.0.0 and autogluon-tabular[skex]==1.0.1b20240305 because these package versions have conflicting dependencies.

ERROR: ResolutionImpossible: for help visit https://pip.pypa.io/en/latest/topics/dependency-resolution/#dealing-with-dependency-conflicts
The conflict is caused by:

    autogluon-tabular[skex] 1.0.1b20240305 depends on scikit-learn-intelex<2024.1 and >=2023.0; extra == "skex"
    autogluon-tabular[skex] 1.0.0 depends on scikit-learn-intelex<2024.1 and >=2023.0; extra == "skex"
    autogluon-tabular[skex] 1.0.1b20240305 depends on scikit-learn-intelex<2024.1 and >=2023.0; extra == "skex"
    autogluon-tabular[skex] 0.8.2 depends on scikit-learn-intelex<2023.2 and >=2021.7; extra == "skex"
    autogluon-tabular[skex] 1.0.1b20240305 depends on scikit-learn-intelex<2024.1 and >=2023.0; extra == "skex"
    autogluon-tabular[skex] 0.8.1 depends on scikit-learn-intelex<2023.2 and >=2021.7; extra == "skex"
    autogluon-tabular[skex] 1.0.1b20240305 depends on scikit-learn-intelex<2024.1 and >=2023.0; extra == "skex"
    autogluon-tabular[skex] 0.8.0 depends on scikit-learn-intelex<2023.2 and >=2021.7; extra == "skex"
    autogluon-tabular[skex] 1.0.1b20240305 depends on scikit-learn-intelex<2024.1 and >=2023.0; extra == "skex"
    autogluon-tabular[skex] 0.7.0 depends on scikit-learn-intelex<2023.1 and >=2021.7; extra == "skex"

To reproduce:

conda create -n benchmark python=3.10
conda activate benchmark
pip install -r requirements.txt
python runbenchmark.py autogluon

System info:

  • M1 Macbook
  • OS: Sonoma 14.2.1
  • Python = 3.10

Any guidance and help would be appreciated, thanks!!

Is it possible for you to install autogluon independently of the benchmark? Based on the error message it looks like the conflicts are in the dependency graph of autogluon itself.

I tried the following with a fresh conda env. And here goes the result too.

pip install --no-cache-dir autogluon                   # this succeeded
pip install --no-cache-dir 'autogluon.tabular[skex]'   # this failed with the aforementioned error

It is something to do with autogluon dependencies then?

Yes, this seems like an autogluon problem, not an AutoML benchmark one. I suggest opening an issue there.

For everyone else (and future documentation): It's an Apple Silicon issue.
Reference: autogluon/autogluon#3965

It looks like the script would need to be updated to install through conda for apple silicon. Or maybe without installing skex? We don't officially support MacOS, so we don't really need to change anything per se.

@Innixma what do you think is most sensible here?