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()
最后操作成功。