安装R包cellassign--单细胞测序细胞注释包

cellassign的安装需要依赖于tensorflow(一个python机器学习经典库),可以根据以下步骤进行安装:先安装R包tensorflow然后通过R包tensorflow安装安装python模块tensorflow,最后安装cellassign,如:

install.packages("tensorflow")
library(tensorflow)
install_tensorflow()

可是,在执行install_tensorflow()的时候,报错,找不到相关的Python环境,如下: 

Error: could not find a Python environment for /usr/bin/python3

解决办法是创建一个python的conda虚拟环境r-tensorflow,如下:

conda create -y -n r-tensorflow python=3

随后通过keras包将R使用的python环境改为使用conda虚拟环境r-tensorflow, 如下:

install.packages("keras")
library(keras)
keras::use_condaenv("r-tensorflow", required = TRUE)

将tensorflow安装到conda虚拟环境r-tensorflow中,重新执行以下代码即可完成安装:

library(tensorflow)
install_tensorflow()
## 等待下载安装,中间出现了两次报错,这个python库比较大,可能是网速的原因,在第三次安装的时候成功安装

通过github安装cellassign,我通过BiocManager::install('cellassign')报错,可能时我的Bioconductor版本太新了。

library(devtools)
install_github("Irrationone/cellassign")
## install_github("Irrationone/cellassign")跑完后已经显示安装成功,DONE(cellassign)
## 通过BiocManager::install('cellassign')会出现报错,版本不对:package ‘cellassign’ is not available for Bioconductor version '3.13'

以上操作安装过程我是在终端中完成,安装完成后,当我回到Rstudio-server进行使用时发现加载包过程中发生报错,提示仍然没有安装上, 如下:

library(tensorflow)
library(cellassign)
# 错误: package or namespace load failed for ‘cellassign’:
#  loadNamespace()里算'cellassign'时.onLoad失败了,详细内容:
#  调用: fun(libname, pkgname)
#  错误: Tensorflow installation not detected. Please run 'tensorflow::install_tensorflow()' to continue...

因此,我在想是否命令行中R安装的python模块在Rstudio-server中识别不到,所以就想按照在命令行中的方式在Rstudio-server中再安装一遍:

library(tensorflow)
install_tensorflow()
## Error: could not find a Python environment for /usr/bin/python3 ## 这个报错跟上述一样,可借助conda环境解决。
library(keras)
keras::use_condaenv("r-tensorflow", required = TRUE)
## Error: Unable to find conda binary. Is Anaconda installed?

后面这个报错就有点匪夷所思了,为什么找不到我新建的conda环境r-tensorflow呢?

经过多番操作,最后想到可能时Rstudio不能识别我的conda环境r-tensorflow在哪里,需要给它一个绝对路径(这个在终端中安装的时候是不需要的,终端能自动找到要使用的conda环境。)

在补充路径后,果然能成功解决这个问题:

keras::use_condaenv("~/biosoft/miniconda3/envs/r-tensorflow", required = TRUE)
library(tensorflow)
library(cellassign)
# 2021-08-18 09:04:50.711063: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library libcudart.so.10.1

或许在以后每次使用该包之前,都需要指定一下R使用的python环境,即:

keras::use_condaenv("~/biosoft/miniconda3/envs/r-tensorflow", required = TRUE)

本文仅是本人安装R包过程中的一些笔记,希望能帮到有需要的人。

参考:cellassign:用于肿瘤微环境分析的单细胞注释工具(9月Nature)_悟道西方-CSDN博客

           Python in R - Error: could not find a Python environment for /usr/bin/python - Stack Overflow

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值