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()

 

最后操作成功。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM