blind-contours / CVtreeMLE

:deciduous_tree: :dart: Cross Validated Decision Trees with Targeted Maximum Likelihood Estimation
MIT License
5 stars 1 forks source link

Missing dependencies: improve installation instructions? #24

Closed wleoncio closed 1 year ago

wleoncio commented 1 year ago

Installation dependencies

Installation was straightforward from my development machine, but starting from a clean R session (using a Rocker image), running remotes::install_github("blind-contours/CVtreeMLE@main") took me down a rabbit hole of dependency-chasing which I just gave up on after a couple of days trying.

It's hard to say how many users would struggle with installing this package, but I would not assume they will have the full-blown machines software developers use. Given how long the installation takes (issue #23), I would try to make sure the user has all the dependencies set up before trying to install CVtreeMLE, or at the very least warn them. Either that, or explicitly restrict the OSs your package supports (desperate measure, not really recommended).

Conversely, since your CI checks are testing for Ubuntu, I guess installation on a clean Linux machine is still fine. I do, however, see some hard-coded dependency handling there that might hint about missing dependencies in the README file.

Example execution dependencies

Even from my development PC, I couldn't run the example straight off because I had to install the following packages:

I wish these extra dependencies would also have been mentioned somewhere (kableExtra is a suggested package, but still should be explicitly mentioned for running examples).

blind-contours commented 1 year ago

Hi @wleoncio - thanks for catching this and reviewing the package in general. To answer your comment here, I've added a small section in the readme that tells the user to install the dependencies that are hard coded in the YML file you mentioned. Sorry I forgot about this, SL3 has those ranger and nnls dependencies that for some reason need to be installed before SL3 and likewise, because CVtreeMLE comes with plotting features, there are dependencies for that. I've also added all these packages to the suggests section in the DESCRIPTION file. Let me know if you'd like anything else done on this front.

wleoncio commented 1 year ago

Thank you for addressing this. I'm still running into some issues installing from a clean machine (and loading from my production PC), but since the Ubuntu and macOS CIs are passing and the installation instructions have improved, we may close this issue for now and rely on eventual reports from other users for further and broader improvements to the installation procedure.