aimclub / FEDOT

Automated modeling and machine learning framework FEDOT
https://fedot.readthedocs.io
BSD 3-Clause "New" or "Revised" License
632 stars 86 forks source link

Very strict dependency requirements #385

Closed bacalfa closed 2 years ago

bacalfa commented 3 years ago

I'm very excited to try out this package, but its strict dependency requirements are giving me headaches when setting up my conda environment.

ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
fedot 0.3.1 requires scikit-learn==0.24.1, but you have scikit-learn 0.24.2 which is incompatible.
fedot 0.3.1 requires scikit-optimize==0.7.4, but you have scikit-optimize 0.9.dev0 which is incompatible.
fedot 0.3.1 requires xgboost==1.0.1, but you have xgboost 1.4.2 which is incompatible.

Is it possible to relax the requirements?

J3FALL commented 3 years ago

Hi, @bacalfa! This is a fair note. Since FEDOT is still an early-stage project, we have tried to have the same environment for all team members. Because it imports most of the popular DS-stack libraries and some of them can conflict with each other. However, I agree that strict requirements are not an option. The team will discover best practices about dependencies in well-known libraries and we will do something with it.

nicl-nno commented 3 years ago

Hi, @bacalfa!

We tried to simplify the dependency requirements in the new version 0.4.0. I hope it will help to resolve your issues. However, some versions are still restricted in some range (e.g. xgboost<1.3.0) due to compatibility issues.

Please take your feedback if some problems remain unresolvable. In this case, we will continue the investigation.

nicl-nno commented 3 years ago

Hi, @bacalfa!

Is the new version helps with your problem?

bacalfa commented 3 years ago

Thanks! I think it's less strict now. I'm only getting one complaint.

ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
fedot 0.4.0 requires xgboost<1.3.0,>=1.0.1, but you have xgboost 1.4.2 which is incompatible.
nicl-nno commented 3 years ago

Ok, a bit later we will try to adapt our code to the newer xgboost version and update the requirements.

Be free to ask any questions if you will try to do it by yourself (with a fork and pull request)!

fsaforo1 commented 2 years ago

Any update on this issue? It is almost impossible to install this tool on Linux platforms.

nicl-nno commented 2 years ago

The installation is already simplified in master branch - you can test it for your system. The 0.6.0 release with this feature is also coming.

fsaforo1 commented 2 years ago

Thanks! It worked. May seem obvious now but best if you include this [see below] in the installation docs.

!pip install git+https://github.com/nccr-itmo/FEDOT.git

nicl-nno commented 2 years ago

Resolved and will be added to release.