暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

R包,python包,perl包,无root权限脱网,如何安装?

R和SVG的较量 2020-06-11
526
最近要使用一些perl模块,python模块,R包,对于无root权限,且不联网的集群来说,这将又可能是一场旷日持久的安装体验。
记录下又一场复习学习的安装之路:

一 R包手动安装
前提:R是手动安装的,使用者(也就是我)自己设置的安装位置;这样保证了,你后续的安装包也都默认保存在了对应R所在的文件夹(你有操作权限的)内特定的位置,可能是(./lib64/R/library/)这个文件夹。
1 下载你需要的安装包
eg. 我这里需要安装的是Homo.sapiens这个人类基因组相关的数据包。因为我的R是3.6版本的,所以直接在
https://www.bioconductor.org/packages/release/data/annotation
来自R包官方网站:https://www.bioconductor.org

该网站搜索这个数据包,并下载到对应的集群(当然了,我的是不联网,所以需要把数据包先下载到本地,在使用stfp等工具上传到对应的集群上去)。

下载方式:

①直接点击搜索到的包页面最下边的Source package旁边的这个包即可;

Source PackageHomo.sapiens_1.3.1.tar.gz

2 安装

R CMD INSTALL /mypackagepathdirectory/mypackage.tar.gz
复制

提示:此处使用的R命令是需要你提前配置好你的bashrc文件,或者R的全路径,否则系统会自动读取系统默认的R路径来安装,如果在系统默认的文件夹下你没有权限,则就会提示报错;

如果你想要把它安装在你自己选定的路径下,则可以执行如下命令:

R CMD INSTALL  -l  lib  /mypackagepathdirectory/mypackage.tar.gz 
#(将mypackage安装在lib目录下)
复制

系统提示:

** testing if installed package keeps a record of temporary installation path
* DONE (Homo.sapiens)
复制

则表示系统安装完成,且成功。

但是(我也挺讨厌但是的),系统提示:

ERROR: dependencies ‘GenomicRanges’, ‘IRanges’, ‘sva’, ‘limma’, ‘rtracklayer’, ‘Biobase’, ‘GenomeInfoDb’ are not available for package ‘Homo.spaiens’
复制

这就是噩梦的开始,这意味着,你要把系统提示的这些没安装的包,按照上边的方式,一一下载下来,一一安装完成以后才可以(这个过程中,很可能碰到其他小包也存在一个,或者非常多个依赖包,没.有.安.装.)。所以,这个过程很可能是一个无限循环,有时候还可能是个无限死循环的过程。( Ĭ ^ Ĭ )

ps:如果是你自己写的R包,可以在R环境下使用,或者在R脚本中添加

source("/yourRpackagepathway/yourRscript.R")
#如何调试你是否安装成功
library(Homo.sapiens)
#没有显示任何报错,就代表安装成功,且可用
复制

以上命令直接调试该脚本,或者包。


二 perl包手动安装模块

1 下载你需要安装的模块

eg:此处使用的是perl的graph::clique图论模块进行安装;

在以下网页搜索graph或者clique

https://metacpan.org/

perl各种模块的官网

,并在左侧最下方直接点击Download下载该perl模块包Graph-Clique-0.02.tar.gz。我的perl是5.10版本的,所以我下载的模块适用于>perl3.5的模块包。

2 安装

解压缩该压缩包,然后进入文件夹中进行安装:

tar -xvf Graph-Clique-0.02.tar.gz
cd ./Graph-Clique-0.01/  
#我也不知道为啥下载的是0.02版本的,解压完变成了0.01版本的
perl Makefile.PL   INSTALL_BASE=/which.directory.you.have.authority/pathway
make
make test
make install
#没有报错,就是安装成功
复制

当然,如果这一步安装也显示你有其他依赖的模块没有安装,请回到“二 perl包手动安装模块”这里,将这个过程再执行一遍,知道按完所有的依赖模块即可。

3 调试使用

安装完成以后,因为你不是root,没有安装在perl对应的默认/usr /bin等路径下,所以在你的脚本中需要添加如下命令,让perl运行的时候,去读取这个模块,你才可以在流程中正常使用这个模块:

#在perl程序中修改INC, 例如:
#!/usr/bin/perl -w 
push(@INC,"/上述安装路径名称"); 
复制


#!/usr/bin/perl -w 
BEGIN{push(@INC,"/上述安装路径名称")};
复制

#!/usr/bin/perl -w 
use lib '/上述安装路径名称';
复制

因为perl读取任何模块的时候,会从@INC所包含的全部路径中查找模块,来读取使用,所以需要将你新的路径暂时添加到@INC中去,让系统可以找到新的模块的位置。


三 python模块的安装

1下载Python模块包

eg.:此处使用pbr模块包测试

在pypi官方网页下载你需要的python包,注意下载最新版本的包要跟你使用的python版本配套才可以。

https://pypi.org/project/pbr/

pypi网页是python安装包的官网下载地址,包括了各种python版本对应的python模块包

2安装

①解压缩该python包,并进入文件夹

tar -xvf pbr-5.4.5.tar.gz
cd ./pbr-5.4.5
python3 setup.py install  #安装命令 若未报错,表示,安装完成
复制

提示:如果这一步该包依赖很多其他的包,则需要回到上述python安装的第一步,重复执行这个步骤,知道依赖包全部安装完成才可以。一般,解压缩这个包的好处是:查看该包内egg.info文件夹里的require.txt文件夹或者dependency_links.txt,即可知道该包依赖的包有哪些,然后一一下载安装,而不需要等到安装测试的时候,让系统告诉你缺了哪些包;

② 不解压缩这个包,如何安装

pip install pbr-5.4.5.tar.gz
复制

好处是,节省安装步骤,坏处是,不知道这个包是否还依赖了其他包。

3测试

在python环境下直接import这个包

import pbr
复制

或者使用pip list |grep pbr查看是否安装成功。


总之,没有网的日子,只能自力更生,丰衣足食。虽然繁琐,但是也可以让你慢慢在安装,找bug,补bug的过程中,对这些语言的使用越来越得心应手。


编辑:Vickymemo

校对:Vickymemo


感兴趣一起学习的小伙伴可以添加公众号二维码


想要一起讨论的小伙伴可以添加作者的微信


文章转载自R和SVG的较量,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论