4 ms·
‘renv’ (only) does more or less what pyenv does. Contrary to what the parent comment says, R doesn’t actually do any dependency resolution at all, and the offic
by klmr 6y ago
‘renv’ (only) does more or less what pyenv does. Contrary to what the parent comment says, R doesn’t actually do any dependency resolution at all, and the official package repository (CRAN) doesn’t even archive many old versions (though MRAN does).
I strongly prefer R for data science, but its dependency management story is poor, even compared to Python’s (which, in turn, is poor compared to Rust/Ruby/…).
- disgruntledphd2 6y agoThat's simply not true. R doesn't store old versions, which is actually brilliant because your code breaks when your dependencies rot. Python will silently upgrade numpy as a transitive dependency and break everything, which is much worse. MRAN also has daily snapshots which is normally how i handle stuff that will never be updated. I also specified building an R package which does handle dependencies versus the python equivalent which does not. I'm not saying R is good, I'm just saying Python is way worse.
- guitarbill 6y ago> even compared to Python’s (which, in turn, is poor compared to Rust/Ruby/…) Compared to Rust? Sure. Compared to Ruby? Maybe in the way that a lockfile isn't automatically generated when using pip. Hating on Python's dependency management is a meme at this point. You could do a lot worse than the current pip + venv, and upgrading to something like poetry or pipenv is pretty painless. I'm pretty sure 99% of problems occur because people don't pin stuff.