Sad*_*dik 107 python graphviz python-2.7 pydot
当我用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')
Run Code Online (Sandbox Code Playgroud)
它打印出错误信息:
Couldn't import dot_parser, loading of dot files will not be possible.
Run Code Online (Sandbox Code Playgroud)
我正在使用python 2.7.3
Jon*_*han 220
回答pydot >= 1.1:
(上游)的不兼容性pydot已由6dff94b3f1修复,因此pydot >= 1.1将与之兼容pyparsing >= 1.5.7.
适用于pydot <= 1.0.28:
对于遇到此问题的任何其他人来说,这是由于从1.x到2.x版本的pyparsing的变化.要使用pip安装pydot,首先安装较旧版本的pyparsing:
pip install pyparsing==1.5.7
pip install pydot==1.0.28
Run Code Online (Sandbox Code Playgroud)
如果你没有安装pyparsing使用pip,而是使用setup.py,那么看看这个解决方案卸载包.谢谢@qtips.
Dan*_*ane 57
pip repo中有一个名为pydot2的新软件包,可以正常运行pyparsing2.我无法降级我的包,因为matplotlib依赖于较新的pyparsing包.
注意:来自macports的python2.7
Gab*_*var 21
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:
Run Code Online (Sandbox Code Playgroud)
我分叉了pydot存储库[1],应用了Gabi Davar补丁和一些更改来支持python-3.该包可在PyPI [2]中找到.
干杯
小智 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/
解决方案不是从某个地方安装pydot,而是从官方的ubuntu存储库安装"python-pydot".
| 归档时间: |
|
| 查看次数: |
92859 次 |
| 最近记录: |