Note that our GitHub Actions workflow uses user_python-ubuntu.sh with system Python (to somewhat mimic the VM) and hence uses docker/requirements.txt, and nothing from SIRF-Exercises.
A temporary solution which doesn't break too many things could be:
keep docker/requirements-service.* in docker/user_service-ubuntu.sh and VirtualBox/INSTALL_python_packages.sh
remove docker/requirements.yml and its usage
keep docker/requirements.txt and its usage in docker/user_service-ubuntu.sh
but it doesn't seem very logical. Easiest seems to remove the SciPy version restriction, which will at least prevent some surprising dependency versions.
At present, we have multiple occurences of installation of Python dependencies:
Docker (uses mamba):
VM (uses system Python):
Note that our GitHub Actions workflow uses user_python-ubuntu.sh with system Python (to somewhat mimic the VM) and hence uses
docker/requirements.txt
, and nothing from SIRF-Exercises.Moreover, these files are not always consistent regarding what they require, including version restrictions (e.g. docker/requirement.yml still restricts SciPy to 1.7.3.
Some of this is because SIRF-Exercises/environment.yml and requirements.txt are relatively recent. A relevant discussion is in https://github.com/SyneRBI/SIRF-SuperBuild/issues/493.
A temporary solution which doesn't break too many things could be:
but it doesn't seem very logical. Easiest seems to remove the SciPy version restriction, which will at least prevent some surprising dependency versions.
I also notice that SIRF-Exercises/requirements.txt installs jupyterlab, but SIRF-Exercises/environment.yml does not. Not sure what best practice for that is, but note that the VM uses
requirements.txt
to install jupyterlab.