-
Notifications
You must be signed in to change notification settings - Fork 3
2. Take 2 Set up JupyterHub environment
Setting up the environment means installing the various python packages (and Python version). In my case, I don't need multiple kernels (different Python versions and different package versions). I have a base environment that all the users will use.
See Take 1 for my first, partially successful, attempt
Note, on a t2.micro the environment steps are horribly slow and tend to crash the instance. If you can get TLJH running on a bigger instance, you'll save yourself some headaches.
Note, I first used conda
to try to install the environment, but that was using too much RAM. I only have 1G RAM on t2.micro.
I am going to have one environment, the base, rather than multiple. All the users will be working in that base environment.
-
From the JupyterHub console, create a new text file at the base level. Rename it
environment.yml
. Then copy the NASA Openscapes file into that https://github.com/NASA-Openscapes/corn/blob/main/ci/environment.yml Then change the first line of that file toname: base
. -
In a bigger instance (not t2.micro), it should work to just run this code to download all the packages with the same versions as in the NASA workshop:
sudo -E mamba env update -f environment.yml
But this crashes the t2.micro instance. Workaround was to install the environment in smaller pieces.
-
Workaround for environment creation crashing. I made
env1.yml
with the first 5 packages inenvironment.yml
and ransudo -E mamba env update -f env1.yml
Then I added
gdal
toenv1.yml
and reran the command above to update the environment. I kept doing that, adding 1-2 packages at a time, until I had added all the packages inenvironment.yml
. Yeah, doing this on a t2.micro is painful. It took forever but adding one package at a time meant I didn't crash the t2.micro instance. Note, make sure you have enough storage; the default 8Gig is not enough to install all the packages used in the NASA workshop.There were a few packages that crashed even if I tried installing so I commented these out of the environment file. I get a
Verifying transaction: \ Killed
error at the end.xarray-spatial
geoviews
However after I installed all the other packages except these, I was able to go back and uncomment
geoviews
and it worked.xarray-spatial
still gave me that error.
Note, why not do all the installations one by one? I don't know. Because this is a single-user installation, we have to use sudo
. This would not be needed if we weren't using TLHJ.
Install one package
sudo -E mamba install -c conda-forge <packagename>
Install with pip
sudo -E pip install <packagename>
Pip complained about 'sudo' but I wanted packages available at the root level. sudo pip install <pkg>
(without the -E) seemed to crash the instance.