我安装了Bio并更新了它,但我又得到了这个错误。
>>> from Bio.SubsMat import MatrixInfo ModuleNotFoundError: No module named 'Bio.SubsMat'
我删除并重新安装了几次,但问题没有解决。
e1xvtsh31#
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的旧版本。你首先必须删除你的biopython版本:
Bio.SubsMat
MatrixInfo
SubsMat
Bio.Align
biopython
pip uninstall biopython
然后安装旧版本的biopython
pip install biopython==1.76
已知Biopython 1.76仍然包含Bio.SubsMat.MatrixInfo模块。您可以通过查看1.76的documentation进行验证。
Bio.SubsMat.MatrixInfo
1条答案
按热度按时间e1xvtsh31#
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
的旧版本。你首先必须删除你的biopython版本:然后安装旧版本的biopython
已知Biopython 1.76仍然包含
Bio.SubsMat.MatrixInfo
模块。您可以通过查看1.76的documentation进行验证。