107

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を使用しています

4

14 に答える 14

220

に対する答えpydot >= 1.1:

(upstream) の非互換性は6dff94b3f1pydotで修正されているため、 と互換性があります。pydot >= 1.1pyparsing >= 1.5.7


該当する回答pydot <= 1.0.28:

これに遭遇した他の人にとっては、1.x から 2.x リリースへの pyparse の変更によるものです。pip を使用して pydot をインストールするには、まず古いバージョンの pyparsing をインストールします。

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

pyparsingを使用してインストールせずpip、代わりに を使用したsetup.py場合は、このソリューションを参照してパッケージをアンインストールしてください。ありがとう@qtips。

于 2013-07-27T22:07:48.033 に答える
20

pydot は、pyparsing のプライベート モジュール変数 (_noncomma) を使用しました。以下の差分は、pyparsing 2.0.1 に使用するように修正しています。

diff --git a/dot_parser.py b/dot_parser.py
index dedd61a..138d152 100644
--- a/dot_parser.py
+++ b/dot_parser.py
@@ -25,8 +25,9 @@ from pyparsing import __version__ as pyparsing_version
 from pyparsing import ( nestedExpr, Literal, CaselessLiteral, Word, Upcase, OneOrMore, ZeroOrMore,
     Forward, NotAny, delimitedList, oneOf, Group, Optional, Combine, alphas, nums,
     restOfLine, cStyleComment, nums, alphanums, printables, empty, quotedString,
-    ParseException, ParseResults, CharsNotIn, _noncomma, dblQuotedString, QuotedString, ParserElement )
+    ParseException, ParseResults, CharsNotIn, dblQuotedString, QuotedString, ParserElement )

+_noncomma = "".join( [ c for c in printables if c != "," ] )

 class P_AttrList:
于 2013-08-31T11:49:44.407 に答える
7

pydot リポジトリ [1] をフォークし、Gabi Davar パッチといくつかの変更を適用して、python-3 をサポートしました。このパッケージは PyPI [2] で利用できます。

乾杯

于 2014-01-30T16:53:53.023 に答える
6

$ sudo pip uninstall pydot

$ sudo pip install pydot2

次のリンクを参照してください: http://infidea.net/troubleshooting-couldnt-import-dot_parser-loading-of-dot-files-will-not-be-possible/

于 2015-06-29T05:04:32.947 に答える
3

再び問題が発生し、上記の解決策は機能しませんでした。それがあなたに当てはまり、El Capitan を搭載した Mac で Anaconda も使用している場合は、次のことを試してください。

conda install --channel https://conda.anaconda.org/RMG graphviz`
conda install --channel https://conda.anaconda.org/RMG pydot
于 2016-01-28T02:57:37.537 に答える
1

OSX Mavericksでは、次のようにしました...同じエラーが発生しましたが、一番下にgraphviz実行可能ファイルが存在しないという苦情もありました...問題は、他のモジュールの前にgraphvizをインストールしたことだと思いますか?

brew uninstall graphviz
brew install graphviz
于 2015-01-14T14:58:09.080 に答える