Draw_grapviz:缺少Python依赖性错误

时间:2014-10-15 19:55:41

标签: python biopython pygraphviz

我尝试使用Phylo.draw_graphvizBioPython库中的PyGraphviz方法创建系统发育树。我阅读了文档并为Windows安装了networkxmatplotlibGraphviz 2.38。然后,我从Unofficial Windows Binaries for Python Extension Packages安装了PyGraphviz。我按照Biopython wiki中给出的以下代码:

from Bio import Phylo
import pylab

tree = Phylo.read('allseqs.dnd', 'newick')
Phylo.draw_graphviz(tree)
pylab.show()

但是我一直遇到这个错误:

Traceback (most recent call last):
  File "C:\Users\GAMER\Desktop\Methybase\Data\Helicobacter  pylori  F16\graphtezt.py", line 5, in <module>
    Phylo.draw_graphviz(tree)
  File "c:\users\gamer\desktop\padai\coding\user\lib\site-packages\Bio\Phylo\_utils.py", line 155, in draw_graphviz
    raise MissingPythonDependencyError(
UnboundLocalError: local variable 'MissingPythonDependencyError' referenced before assignment

源代码可用here。我检查了行155作为回溯建议,这就是它所说的:

raise MissingPythonDependencyError( 
                 "Install PyGraphviz or pydot if you want to use draw_graphviz.")

任何解决方案都将非常感谢

1 个答案:

答案 0 :(得分:0)

通过查看该链接上的代码,似乎缺少一条关键线。这应该是from Bio import MissingPythonDependencyError并且它应该在第154行和第155行之间缩进。问题是该函数在调用之前尚未导入,因为如果模块networkx丢失,它仅在第134行导入