R版本及R包版本的管理 | 历史版本 | 安装R4.0 | 安装Seurat v4 | nlopt

 

2022年07月19日

R4.1安装ggpubr出现了问题,要用conda先装一个nlopt

# conda install -c conda-forge nlopt
# conda install -c conda-forge r-nloptr
library(nloptr)
install.packages("ggpubr")

  

  

 


 

最终还是不得不装R4.*了,因为Seurat最新的功能必须要用v4,而v4只能在R4以后的版本安装。

这里还是用conda来安装,为了方便管理。

这里居然有一键安装教程,厉害了。

conda create -n seurat4 -c conda-forge -c bioconda r-seurat=4*

  

重点:

建一个单独的R4的文件夹

bash_profile改一下,改完默认的.libPaths()就变了

如果误装了R3.6的包,批量删除即可(How to remove all user installed packages in R),否则会一直要求reinstall,很烦

删除所有基于R3.6的包

# show lib path
.libPaths()

ip <- as.data.frame(installed.packages())
ip <- subset(ip, grepl("^3", ip$Built))
# ip <- ip[!(ip[,"Priority"] %in% c("base", "recommended")),]

ip <- as.data.frame(installed.packages())
ip <- subset(ip, grepl("^3", ip$Built))
pkgs.to.remove <- ip[,1]

path.lib <- "/home/lizhixin/softwares/R_lib_4"
sapply(pkgs.to.remove, remove.packages, lib = path.lib) 

install.packages('IRkernel')
IRkernel::installspec()

  

 

某些包配置失败,用conda装
conda install -c conda-forge r-ragg
conda install -c conda-forge r-units
conda install -c conda-forge r-sf

 

装R kernel

install.packages('IRkernel')
IRkernel::installspec()

  

装devtools

R装不上的可以用conda解决

conda install -c conda-forge r-gert
conda install -c conda-forge r-usethis

  

装jupyter

pip install jupyter

  

安装指定的包到当下的python lib

/home/lizhixin/softwares/anaconda3/envs/seurat4/bin/python -m pip install pyzmq
/home/lizhixin/softwares/anaconda3/envs/seurat4/bin/python -m pip install zmq

  

zmq的包安装路径问题,必须装载当前的conda env中

pip uninstall

pip3 uninstall

然后重装

  

装插件

pip install jupyter_contrib_nbextensions
jupyter contrib nbextension install --user

  

 

参考:Tutorial:Installing an updated R version (>=4.0) using conda

之前博客:在HPC的节点上使用jupyter notebook

问题:Package ‘XXX’ was installed before R 4.0.0: please re-install it 【直接remove掉所有R3.6的包】

# check your package library path 
.libPaths()

# grab old packages names
old_packages <- installed.packages(lib.loc = "/home/lizhixin/softwares/R_lib_361")
old_packages <- as.data.frame(old_packages)
list.of.packages <- unlist(old_packages$Package)

# remove old packages 
remove.packages( installed.packages( priority = "NA" )[,1] )

# reinstall all packages 
new.packages <- list.of.packages[!(list.of.packages %in% installed.packages()[,"Package"])]
if(length(new.packages)) install.packages(new.packages)
lapply(list.of.packages,function(x){library(x,character.only=TRUE)})

  

Upgrade packages after installing a new R
Copy the library to the new library path. Then use the code to update packages.

update.packages(checkBuilt=TRUE, ask=FALSE)

  

source activate seurat4

  

 

 


 

无论是R还是Python,版本更新都是一个大问题,比如R到4.0之后,很多新包就不支持R 3.X了,这真是非常头疼,所以必须安装历史版本。

这里给出了一个快速的解决方案。

 

注意:

  • 要去到R里面安装,方面看报错信息,jupyter不提供详细报错信息。
  • 问你要不要更新已有的R包,选择不更新。

 

选择需要的版本

install.packages("versions")

versions::available.versions("phangorn")

packageVersion("phangorn")

指定版本安装

devtools::install_version("phangorn", version = "2.5.5", repos = "http://cran.us.r-project.org")

devtools::install_github("jingwyang/TreeExp", dependencies = T)

 

sessionInfo()

 

最后操作成功。

 

posted @ 2022-01-04 13:21  Life·Intelligence  阅读(3150)  评论(0编辑  收藏  举报
TOP