Graphviz 与 PyGraphViz

Graphviz vs PyGraphViz

我有一些点文件(二合字母)需要在 Python 中读取并从节点中提取一些值来填充我的数据结构。我看到 Python 有两个 graphviz 包:graphviz and pygraphviz。两者有什么大的区别吗?从文档的快速滚动来看,他们几乎似乎在做同样的事情。我将在 Python 2.7.X 中使用它来完成上述任务。

graphviz 是一个轻量级库,它调用 graphviz 作为子进程来执行所有操作并产生输出。这个库非常棒,可以快速简便地生成 SVG 或 PNG 输出。

pygraphviz 包含完整的 C 绑定,它使用 graphviz 作为库并公开 graphviz 的所有内部功能,如 add/remove nodes/edges。但它在部署中带来了更高的复杂性,因为 pip 需要编译 C 绑定并找到所有库。

在您的情况下,由于您需要读取和操作点文件,因此看起来您必须使用 pygraphviz。另一个有趣的选择是 http://pypi.python.org/pypi/pydot,它是一个纯粹的 python 点解析器。

免责声明:我有偏见,因为我为 pygraphviz 做出了(一点点)贡献。