项目需求是用shiny实现UI界面,后台通过R包reticualte来调用miniconda python来实现后台逻辑。
在本地R studio一切都很顺利,然而到了remote server部署上(Docker shiny server),错误提示找不到python。
在docker内部安装miniconda时,是通过root安装。
在R脚本上也设置了Sys.setenv(RETICULATE_PYTHON = '/root/miniconda3/bin/python3'),还是出错。
最后发现是shiny server权限问题,shiny server是shiny用户运行的,而镜像内/root默认权限为700,所以导致shiny server无法访问python。
最终,通过修改/root权限为777,解决问题。