Skip to content

Proposal for updating the R container #78

@rvalieris

Description

@rvalieris

Hello there, I'm interested in helping update the R container,
after spending some time working on the build errors I have written a patch,
but I want to discuss the changes before opening a PR because they are significant:

  • Upgrade R to 4.4
    the latest R available on Kaggle is 3 years old now, it's about time we get an update ;)

  • Drop mxnet
    as of 2023-09, the project has been retired.

  • Remove packages: rgdal, rgeos
    these packages have been removed from CRAN:
    Archived on 2023-10-16 at the request of the maintainer. Consider using 'sf' or 'terra' instead.

  • Install the latest versions of the packages: randomForest, terra, ranger, imager
    the version of these packages is fixed on package_installs.R,
    the comments imply there is context for these ( internal bug tracker ?), but it's not clear why or if they are still needed.

  • Use pak to install packages
    The build is currently failling here:

r$> utils:::.make_dependency_list(pkgs, allPackages, recursive = TRUE)
Error in tools:::.extract_dependency_package_names(x) :
  non-character argument

r$> traceback()
4: tools:::.extract_dependency_package_names(x)
3: unique.default(tools:::.extract_dependency_package_names(x))
2: .clean_up_dependencies(info2[i, ])
1: utils:::.make_dependency_list(pkgs, allPackages, recursive = TRUE)

package_installs.R uses utils:::.make_dependency_list,
this is an internal function and is prone to changing its behavior without warning,
which is what I think happened here.

pak can do parallel downloads and parallel installation of packages, among other features.

I think that by using pak most of the package_installs.R code becomes redundant, and the script can be simplified significantly.

of course, none of these are required but it is what I think would be better, let me know what you think.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions