我安装了Bio并更新了它,但是我又报错了
>>> from Bio.SubsMat import MatrixInfo
ModuleNotFoundError: No module named 'Bio.SubsMat'
删了重装了几次,问题都没有解决
Bio.SubsMat
已经被弃用了一段时间。这本质上意味着 MatrixInfo
方法也被弃用了。阅读 Biopython 1.75(自 2019 年 11 月起) 的注释,它指出:
Bio.Align 中添加了一个新模块 substitution_matrices,其中包含一个 Array 类,可用作替换矩阵。作为 Array 类是 numpy 数组的子类,数学上 操作可以直接应用于它,而使用的 C 代码 替换矩阵可以直接访问存储的数值 在替换矩阵中。该模块旨在作为替代品 Bio.SubsMat,目前未维护。
目前安装Biopython时似乎没有安装
SubsMat
子模块。因此,你得到了你的错误!要解决此问题,请尝试使用 Bio.Align
中的 substitution_matrices 模块。如果 MatrixInfo
方法别无选择,您始终可以安装包含它的 biopython
的older version。你首先必须删除你的 biopython 版本:
pip uninstall biopython
然后安装旧版本的biopython
pip install biopython==1.76
Biopython 1.76 已知仍包含
Bio.SubsMat.MatrixInfo
模块。您可以通过查看 1.76 的文档来验证。