metawrap-bin refinement板块报错(No module named Bio)解决方法

1.在运行bin提纯时,出现错误,提示“Importerror No module named Bio”,在github上也有提及"https://github.com/bxlab/metaWRAP/issues/470"

作者回复是run pip install biopython,但运行该命令,显示“Biopython requires Python 3.6 or later. Python 2.7 detected.”

metawrap作者的回复

注:Python 2.7 已经在 2020 年初停止维护,许多库(包括 Biopython)不再支持它,需要升级到 Python 3.6 或更高版本来安装 Biopython。

2.原本打算安装新的python3(写这个就是希望各位不要走弯路啦),但python3的安装有一点复杂而且若是安装后添加到系统环境可能会影响其他软件的使用。

所以查找了在metawrap环境中怎么同时安装不同版本的python,打算操作的时候发现;metawrap环境中已经有多个版本的python了。在metawrap环境下,运行python --version,显示2.7,运行python3 --version时,显示3.8,表明该环境同时支持 Python 2 和 Python 3。

3.有python3后,可以开始安装biopython。运行pip3 install biopython,显示biopython已经存在······

这下才意识到,并非metawrap中不存在biopython,而是biopython和运行提纯的python版本不兼容,python2无法调用该库所导致的!!!!!

查看bin-refinement的python脚本的shebing行:“#!/usr/bin/env python2.7”,该代码指定使用python2.7运行,所以才会无法导入bio模块,因此最简单的办法就是修改shebang行

在metawrap环境下,运行which python3,出现路径,将该路径替换到shebang行,同时python 2.7替换成3.8,重新运行bin提纯,就能正常运行了。



第一次在GitHub上输出





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

推荐阅读更多精彩内容