ComputeCanada / software-stack

Repository to host issues relative to the Compute Canada software stack
12 stars 0 forks source link

`jupyter-notebook` missing in `scipy-stack/2023b` #131

Closed fliem closed 7 months ago

fliem commented 1 year ago

Dear ComputeCanada maintainers,

thanks for your work on the project.

scipy-stack/2023a had jupyter-notebook inlucded. This is missing in scipy-stack/2023b. Is that on purpose? Thanks.

$ module load scipy-stack/2023a
$ which jupyter-notebook
/cvmfs/soft.computecanada.ca/easybuild/software/2020/avx2/Core/scipy-stack/2023a/bin/jupyter-notebook

$ module load scipy-stack/2023b
$ which jupyter-notebook
which: no jupyter-notebook
mboisson commented 1 year ago

Hi, Indeed, we trimmed down the packages included in our scipy-stack/2023b to be closer to just SciPy + Numpy + Matplotlib + Pandas + their dependencies.

We wanted to avoid having jupyter_server in the scipy-stack module, and notebook recently (version 6.5) added a dependency on nbclassic, which depends on jupyter_server for some reason.

https://github.com/ComputeCanada/easybuild-easyconfigs/blob/computecanada-main/easybuild/easyconfigs/s/SciPy-Stack/requirements-2023a.txt vs https://github.com/ComputeCanada/easybuild-easyconfigs/blob/computecanada-main/easybuild/easyconfigs/s/SciPy-Stack/requirements-2023b.txt

Is this causing issues ?

fliem commented 1 year ago

Thanks for the feedback @mboisson We relied on the scipy-stack module to provide jupyter-notebook. If you don't have plans to include it again, we'll need to provide it via an other route. If there are changes from your side, I'd appreciate an update. Otherwise, feel free to close. Thanks.

mboisson commented 1 year ago

For the time being, you can probably use the 2023a version. I will discuss with some colleagues internally as to which is the best route to take.

ccoulombe commented 1 year ago

@fliem Instead of relying on the scipy-stack module, it would be best to create a requirements file and freeze the package version you are using.

In a virtual environment, install the python packages you need, then pip freeze > my-jupyter-reqs.txt Then you can version control that requirements file in git and ensure reproducible environment by reusing the same versions : pip install -r my-jupyter-reqs.txt.