Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Lack of control in Google Colab environment #30

Open
venaturum opened this issue Apr 25, 2024 · 1 comment
Open

Lack of control in Google Colab environment #30

venaturum opened this issue Apr 25, 2024 · 1 comment

Comments

@venaturum
Copy link
Member

Some notebooks have been broken recently by changes in packages, eg

gurobipy 10 -> gurobipy 11
pandas 1 -> pandas 2
gensim not compatible with SciPy 1.13.0

We need to have tight control over the python environment that these notebooks are run under, especially on Google Colab. Unfortunately Colab does not provide a nice way of facilitating this.

I'm proposing we create a public repo modeling-examples-requirements in which we setup a codeless python package with pinned dependencies, essentially creating a lock file in package form. The sole purpose of this package is to tightly control the package versions in an any environment it is installed into. Then in notebooks we only have to have %pip install /path/to/modeling-examples-requirements.git (or something like that).

We could even be fancy and define a separate set of requirements on some different branches to cater for certain notebooks, and avoid having one huge environment. There'd probably be less than 10 different such branches needed.

@venaturum
Copy link
Member Author

Actually creating a package might be overkill. We can use %pip install -r https://url.to.a.requirements.txt.file so we could create e requirements folder which contains pinned dependencies

@Gurobi Gurobi deleted a comment from Virginia1661 Sep 23, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant