我的电脑上按照了多个版本的Python,但是默认情况下用一些调用reticulate
函数的函数会默认使用在环境变量中靠前的Python版本,因此出现了某些模块找不到的报错
报错信息如下
<Rcpp::exception in py_module_import(module, convert = convert): ImportError: No module named louvain>
经过测试,的确没有该模块的信息
```R
>reticulate::py_module_available("louvain")
FALSE
使用py_config()
检查Python配置
python: /usr/bin/python
libpython: /usr/lib64/python2.7/config/libpython2.7.so
pythonhome: /usr:/usr
version: 2.7.5 (default, Apr 9 2019, 14:30:50) [GCC 4.8.5 20150623 (Red Hat 4.8.5-36)]
numpy: [NOT FOUND]
louvain: [NOT FOUND]
发现Python依旧是系统的Python。我在处理问题的时候,尝试用use_python()
指定版本,发现依旧不行。根据https://github.com/rstudio/reticulate/issues/45, 需要重启R,然后手动配置好Python环境
library(reticulate)
use_python("~/biosoft/miniconda3/bin/python", required = T)