Closed s-andrews closed 5 years ago
Hi Simon,
thanks for the detailed explanation. I suspect that you are right and that the script is calling python instead of python3. But if you ran use_python("/bi/apps/python/3.7.3/bin/python3")
before devtools::install_github("bioFAM/MOFA", build_opts = c("--no-resave-data"))
, then I don't understand why R is it not calling the python binary that you specified.. Not sure if this helps but sometimes I had to restart R after reticulate for everything to work.
An alternative solution is to install everything from Bioconductor (https://bioconductor.org/packages/release/bioc/html/MOFA.html), but this requires R 3.6
Hope this is useful, let me know if you can solve it.
I've got it working, but with a kludge!
I worked around the path issue by doing ln -s python3 python
in my python3 install so that I get the right thing even if I call the wrong binary name. This allowed MOFA to install.
I did some more chasing and it doesn't look like the problem is at the level of reticulate. If you don't add the symlink then simple reticulate commands such as import("time")
still work OK, so it's calling the correct python binary. It must be something further along the chain.
Anyway, it's now working here and this might help others who hit the same issue, but it might still be worth tracking down where the rogue python
call is coming from.
Thanks for the help.
I'm trying to install MOFA into an existing R/3.5.1 install, using a custom compiled python 3.7. I can get the basic reticulate and MOFAData packages installed but the actual main MOFA install fails. I'll put some details (and a guess as to what I think is breaking) below.
Basic Setup
Show that python works and that mofapy is there
Show that R and reticulate are working
Show that MOFAdata is there
(you don't see anything, but no news is good news)
Try to install MOFA
Test the os import in our python
My guess is that the install script is actually just calling
python
rather thanpython3
which is what is configured in reticulate. If I try this on the command line I get the same error as the install script.It seems pretty likely that it's just the name of the python executable which is causing the failure, but I'm stuck for knowing where to go and look for how to change it. If you have any suggestions for where this would need to be modified / configured then that would be great.