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