Hi, On Fri, 3 Mar 2023 at 01:51, Kyle Andrews <k...@posteo.net> wrote:
> > Do you mean ’guix.install()’ from r-guix-install? > > > > https://cran.rstudio.com/web/packages/guix.install/index.html > > > > How do you install Python packages from the Python REPL? > > With the reticulate package in R, a python environment can be readily > instantiated using R code like `use_condaenv`. > > https://rstudio.github.io/reticulate/articles/versions.html IIUC, this install Python packages from R REPL and not from Python REPL. Maybe I am missing something but I think 'guix.install' already does that. > In my dreams there would be a `use_guix()` command as well. Of course, > right now that R code is limited to setting up python-specific > environments and conda environments (and installing python packages into > them). However, it still might be valuable to get the name recognition > for Guix in this limited context. Again, maybe I am missing a point but, IMHO, 'guix.install' is the 'use_guix' you are describing. > While guix would be responsible for just the python environment in the > context of the reticulate package, that isn't the only possible use > case. It would be nice to write that integration for reticulate by > having them use another R package with deeper integrations built out for > managing guix itself from R. That's why I brought up RcppGuile as a path > for how R could interface directly with the Guix scheme libraries. Such > an interface might be useful for other interactive scientific > environments like python as well. The goal would be to make Guix seem > less exotic to researchers in typical scientific languages. If it's part > of their "home" computing environment, then they might be much more > interested in trying it out. This reflects a bigger scope than just > being a replacement for install.packages. >From my understanding, the path would be 'guix.install', but maybe I am missing details. And I am not following the point of RcppGuile, instead I would go via some 'emulate-fhs' as "guix shell" provides. Anyway, in all cases, it could nice to fix these bugs related to Conda on the top of Guix: https://issues.guix.gnu.org/issue/59776 https://issues.guix.gnu.org/issue/59775 https://issues.guix.gnu.org/issue/59774 https://issues.guix.gnu.org/issue/59772 > Later in that conversation you made the point that the purpose of the > guix-past channel was to make things like this possible. I added my > voice to this (GSOC Project) thread because I thought it would be useful > to place a fresh pair of eyes at tackling the combinatorial > configuration problems which still stand in the way of curating a large > Guix package repository with the breadth of scientific package versions > that a platform like conda provides... even if it cheats a lot by not > doing that reproducibly. Whatever they learn might also help elsewhere > in the project, such as potentially helping to curate large collections > of packages in other languages like those in Go, Rust, or even > JavaScript. I agree that working around Conda could pay off for Reproducible Research. For example, you might be interested by the thread starting here: https://lists.gnu.org/archive/html/guix-science/2022-11/msg00009.html continuing there: https://lists.gnu.org/archive/html/guix-science/2022-12/msg00000.html Last, Thibault launched a Git repository with CI trying to find after which weeks or months or years? a Conda environment as you described earlier breaks, see: https://framagit.org/tlestang/conda-python-example/-/pipelines The current CI tests the resolver part of Conda as discussed in the thread above and that's cool! :-) Other tests could be added, as changing the "base" computational environment (image) [1]. What happens if the Docker image 'continuumio/miniconda3:4.12.0' is lost? For example, it could also be tested with other 'continuumio/miniconda3' images. Or even install Conda on the top of say various Debian or other "base" image. Well, using a simple example (numpy+matplotlib) and try to run it on various computational environments management by Conda; mimicking what we do most of the time as scientific researchers. 1: https://framagit.org/tlestang/conda-python-example/-/blob/main/.gitlab-ci.yml#L1 Well, for what it is worth, I am trying to do these kind of tests for Guix -- rebuild an old computational environment from 2020 using current state of the world -- as reported here: https://lists.gnu.org/archive/html/guix-devel/2023-02/msg00398.html https://lists.gnu.org/archive/html/guix-devel/2023-03/msg00007.html And I also proposed to work on that as GSoC: https://libreplanet.org/wiki/Group:Guix/GSoC-2023 Feel free to add you as co-mentor. :-) Cheers, simon