一尘不染

pydot和graphviz错误:无法导入dot_parser,将无法加载点文件

python

当我使用pydot运行非常简单的代码时

import pydot
graph = pydot.Dot(graph_type='graph')

for i in range(3):

  edge = pydot.Edge("king", "lord%d" % i)
  graph.add_edge(edge)

vassal_num = 0
for i in range(3):
  for j in range(2):
    edge = pydot.Edge("lord%d" % i, "vassal%d" % vassal_num)
    graph.add_edge(edge)
    vassal_num += 1

graph.write_png('example1_graph.png')

它向我显示错误消息:

Couldn't import dot_parser, loading of dot files will not be possible.

我正在使用python 2.7.3


阅读 142

收藏
2020-12-20

共1个答案

一尘不染

回答pydot >= 1.1

(上游)的不兼容性pydot已由6dff94b3f1修复,因此`pydot

= 1.1将与[兼容pyparsing >=
1.5.7`](https://github.com/erocarrera/pydot/commit/e26af21426fcf15955f7b11b348b14dc6bd5178c)。


答案适用于pydot <= 1.0.28

对于遇到此问题的其他人,这是由于pyparsing从1.x到2.x版本的更改所致。要使用pip安装pydot,请先安装较早版本的pyparsing:

pip install pyparsing==1.5.7
pip install pydot==1.0.28

如果您不是pyparsing使用进行安装pip,而是使用进行了安装,请setup.py查看此解决方案以卸载软件包。谢谢@qtips。

2020-12-20