conda的一些使用问题

conda用起来有些小问题,之前一直未能解决,将这些记录一下

1 往集群投递任务同时激活conda环境

看资料上说是改配置文件啥的,改完之后也没卵用,只需要在bash脚本里面加上绝对路径

#!/usr/bin/bash
source /usrdata/users/hwwang/miniconda3/bin/activate /usrdata/users/hwwang/miniconda3/envs/busco/

2 关于conda报HTTP连接错误的问题

问了下集群的管理员,其他使用者并没有遇到这种问题,说明并不是服务器网络的事,那就应该是conda的配置文件出现问题了,直接改一下配置文件,先做个备份 cp ~/.condarc ~/.condarc.bak
然后删除 .condarc 里的内容,把下面的内容复制到里面并保存

show_channel_urls: true
remote_read_timeout_secs: 1200.0
channels:
  - http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
  - http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
  - http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
  - http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/Paddle/
  - http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/fastai/
  - http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
  - http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda/
ssl_verify: false

很不幸地,我再次遇到了连接错误的问题,咨询了下别人建议我重新安装一下,但之前所有的东西都要删掉,还是算了,不过可以曲线救国,直接在镜像上把包下载下来,手动安装不就可以了

去镜像上下载Index of /anaconda/cloud/bioconda/linux-64/ | 北京外国语大学开源软件镜像站 | BFSU Open Source Mirror isoseq3-3.8.2-h9ee0642_0.tar.bz2
然后cd ~/miniconda3/pkgs/ 运行conda install --use-local isoseq3-3.8.2-h9ee0642_0.tar.bz2
实测可用!

3 conda迁移环境打包

conda install -c conda-forge conda-pack
conda pack -n env_name -o output.tar.gz

复制压缩文件到新的电脑环境
进到conda的安装目录:~/miniconda/envs/
在该目录下创建文件夹 mkdir jcvi
解压conda环境:tar -xzvf output.tar.gz -C ~/miniconda/envs/jcvi/
使用conda env list查看虚拟环境

3 使用conda安装R语言及R包

创建并激活环境,我分别安装了两个R语言的环境,分别是R3.6.0以及R4.1.1,以R3.6.0为例:

conda env list # 查看已创建的conda环境列表
conda create -n r3.6  
conda activate r3.6 
conda install r-base=3.6.0 #安装R并指定版本
conda remove --name xxx --all #移除环境
conda env remove -p /usrdata/users/hwwang/miniconda3/envs/EDTAt

需要提示一下的是,如果conda报找不到包的问题,是因为没有在配置文件里加上R的镜像,可以把 http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r/ 加到你的 .condarc 文件里
然后就是安装了R包了
安装 ggpubr 的时候才体会到用conda有多香,这个包需要的依赖包贼多,安装过程挺长,我们集群如果在本地长时间运行任务会掉线,因此安装过程中断开了好多次,之后又把它提交到节点进行安装

#!/usr/bin/bash
source /usrdata/users/hwwang/miniconda3/bin/activate /usrdata/users/hwwang/miniconda3/envs/r3.6/
/usrdata/users/hwwang/miniconda3/envs/r3.6/bin/Rscript install.r

然后就是报错,类似这种 installation of package xxx had non-zero exit status

Warning messages:
1: In install.packages("ggpubr") :
  installation of package ‘stringi’ had non-zero exit status
2: In install.packages("ggpubr") :
  installation of package ‘stringr’ had non-zero exit status
3: In install.packages("ggpubr") :
  installation of package ‘knitr’ had non-zero exit status

实际上的报错有8条,这里放上几条展示一下,主要是stringr和stringi两个包安装的问题,查阅相关资料也未能解决
然后就想到用conda直接安装或许可以解决,清华大学开源软件镜像站 里面没有ggpubr包,但可以用它安装 stringr,运行 conda install r-stringr,安装完毕后,再安装 ggpubr ,显示安装成功,并可以使用

*** installing help indices
** building package indices
** testing if installed package can be loaded from temporary location
** testing if installed package can be loaded from final location
** testing if installed package keeps a record of temporary installation path
* DONE (ggpubr)

The downloaded source packages are in
    ‘/tmp/RtmpknjjaH/downloaded_packages’
> library(ggpubr)
Loading required package: ggplot2
> gg
gg_dep          ggboxplot       ggecdf          ggmaplot        ggplot          ggproto         ggscatterhist   ggtexttable     ggplot2::
ggadd           ggdensity       ggerrorplot     ggpaired        ggplot_add      ggproto_parent  ggstripchart    ggtitle         
ggarrange       ggdonutchart    ggexport        ggpar           ggplot_build    ggqqplot        ggsummarystats  ggviolin        
ggballoonplot   ggdotchart      gghistogram     ggparagraph     ggplot_gtable   ggsave          ggsummarytable  ggpubr::        
ggbarplot       ggdotplot       ggline          ggpie           ggplotGrob      ggscatter       ggtext          ggsignif::      

DONE!

4 记录R的配置文件,vi ~/.Rprofile

options(repos=structure(c(CRAN="https://mirrors.tuna.tsinghua.edu.cn/CRAN/")))
options(BioC_mirror="https://mirrors.tuna.tsinghua.edu.cn/bioconductor")
.libPaths("/usrdata/users/hwwang/hychao/R_libs")
options(help_type="html")

5 jupyterlab配置R

#在R软件中,安装包,
install.packages('IRkernel')#用于把R导入到jupyterlab
IRkernel::installspec()#默认是显示的为名字为R,a kernel with the name “ir” and a display name of “R”
#如果后续需要导入其它的R环境,那可以使用下面的代码,给它改个名字便于标记
IRkernel::installspec(name = 'ir33', displayname = 'R_4.3.1_singlecell')#可以修改展示的名字

以上,后续遇到问题再补充

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容