大家好,又见面了,我是你们的朋友全栈君。
记录centos7.5中配置lefse过程中遇到的问题
1、下载lefse软件包,解压,查看 “requirements.txt” 文件,需要的R和python包列表:
- R
- R libraries: splines, stats4, survival, mvtnorm, modeltools, coin, MASS
- python libraries: rpy2 (v. 2.1 or higher), numpy, matplotlib (v. 1.0 or higher), argparse
R的几个包安装没有问题,略过
主要遇到的问题 是 rpy2 这个包,我的服务器python版本是2.7,而新的rpy2已经不支持python2,
因此不能直接使用 pip install 安装,只能下载到本地安装,而且只能下载旧版本:
https://pypi.org/project/rpy2/2.5.0/#files
尝试了几个版本之后,我最终选了2.5.0版本。
sudo python setup.py install
报错: /bin/ld: cannot find -lR
又报错了,搜了一下这种报错一般是需要的lib不能在默认路径下找到,解决办法一般是做个软链接即可:
找到R lib路径下的几个文件:“libRblas.so” “libR.so” “libRlapack.so”
一般在这几个地方:
“/usr/local/lib64/R/lib/”
“/usr/local/lib/R/lib/”
“/usr/lib64/R/lib/”
“/usr/lib/R/lib/”
如果没有,据说要重新装R,并且在编译的时候加上: ./configure –enable-R-shlib 参数
我在服务器找到了这些文件,做个链接就可以了,(而且后面我重新装新版本R(3.6.0)的时候,默认就生成了这些文件),全部链接到默认lib路径:
ln -s `/usr/local/lib64/R/lib/{
libRblas.so,libR.so,libRlapack.so} /usr/lib/(/usr/lib64)`
重新安装rpy2,成功;
测试lefse:
python run_lefse.py --help 继续报错:
ImportError: No module named singledispatch
看来是少了个python模块: singledispatch
下载安装: https://pypi.org/simple/singledispatch/
python setup.py
居然没有报错
再来测试lefse: python run_lefse.py --help
没有显示报错了,因为我有服务器的root权限,所以配置相关文件的时候比较方便,目前还不知道没有root权限怎么操作。
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/146072.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...