Open emiliom opened 1 year ago
@abkfenris for the R image, do the R packages have to be conda packages? The conda lock file suggests that's the case, but the exchanges in https://github.com/oceanhackweek/jupyter-image/issues/49 suggest otherwise.
They don't have to be. For direct CRAN installs they can go into the Dockerfile: https://github.com/oceanhackweek/jupyter-image/blob/082c6937faaddf66b07311a96ebb1ed1670cff24/r/Dockerfile#L78-L93
The problem with that method is that errors are silently ignored during the build so Ben was playing with setting up a more generalized install script that could catch errors and fail appropriately.
Ah, I wasn't aware of that mechanism. Thanks. We'll watch out for silent errors.
Just for reference: I'm compiling the additional packages in https://github.com/Intercoonecta/tutoriales/issues/1. But that's all in Spanish, plus I'll handle all the image updates.
@abkfenris For CRAN and github R package additions, the statements in the Dockerfile include the following arguments, with the values being the same (FALSE
) for all packages:
dependencies=FALSE, upgrade_dependencies=FALSE, upgrade=FALSE
One of the packages I'm adding is from github, and the tutorial presenter is the developer. He asked me to include its dependencies. Should I set dependencies=TRUE
? Or are dependencies installed despite the argument dependencies=FALSE
?
Dependencies should either be added manually via conda-forge or in the Dockerfile, so it takes a little work to figure out everything to add.
R is bad about respecting dependencies that are already installed and then gets angry that there are multiple sources of dependencies. Ben was working on a script to try to play nicer (and fail appropriately), but I'm not sure what happened to it.
I had a bad bunch hunch that was the case. Thanks. I'll do that.
(I don't know what having a bad bunch is, unless I was referring to a bunch of packages :roll_eyes:)
For reference, at least for the R package on github that I'm handling, the dependencies are listed in the DESCRIPTION
files, under Imports:
.
I've created two image updates: Python (PR https://github.com/oceanhackweek/jupyter-image/pull/64) and R (PR https://github.com/oceanhackweek/jupyter-image/pull/65).
https://github.com/oceanhackweek/jupyter-image/pull/65 led to an R image deployment error (see https://github.com/2i2c-org/infrastructure/pull/2252#issuecomment-1444887522), which I tried to addressed with https://github.com/oceanhackweek/jupyter-image/pull/66. But it looks like that PR led to a new, different R image deployment error. Sigh. That did it!
I'll start communicating with the OHWes team to identify required packages.
In the meantime, for reference and as a guide, here are the issues @abkfenris created for OHW22 for this task: