csinva / imodels

Interpretable ML package 🔍 for concise, transparent, and accurate predictive modeling (sklearn-compatible).
https://csinva.io/imodels
MIT License
1.39k stars 122 forks source link

3.6 support #23

Closed keyan3 closed 3 years ago

keyan3 commented 3 years ago

For some reason, in the GH workflow environment, when scs is downloaded it runs its setup.py immediately instead of waiting until the end of the install process. The setup script installs numpy, which scs requires, but it fetches the newest version (1.20) which is not compatible with python 3.6 even if we specify <1.20 in our requirements. As far as I can tell, this only happens on GitHub (tried on Colab, local conda python, and local homebrew python without issues).

image

To get around this we can install numpy and scipy before all other dependencies in the GitHub build. Technically, this could mask issues that arise from dependencies having numpy and scipy as build requirements like pyfim did, but I think it's unlikely we'll be using packages that have unhandled build requirements.

csinva commented 3 years ago

Very weird...looking at the scs package they only require numpy >= 1.7 in the first place, so no idea why this is happening.

This workaround seems fine though, especially if you can get it to only do this pip install for py3.6.

csinva commented 3 years ago

perfect!