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.
파이썬 2.7.3을 사용하고 있습니다.
답변
에 대한 답변 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
를 pyparsing
사용하여 설치하지 않고 pip
대신을 사용 setup.py
했다면이 솔루션 을 살펴보고 패키지를 제거하십시오. 감사합니다 @qtips.
답변
pyparsing2에서 올바르게 작동하는 pydot2라는 pip 저장소에 새 패키지가 있습니다. matplotlib가 최신 pyparsing 패키지에 의존하기 때문에 내 패키지를 다운 그레이드 할 수 없습니다.
참고 : macports의 python2.7
답변
pydot은 pyparsing에서 개인 모듈 변수 (_noncomma)를 사용했습니다. 아래 diff는 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:
답변
pydot 저장소 [1]를 분기하고 Gabi Davar 패치를 적용하고 python-3을 지원하기위한 일부 변경 사항을 적용했습니다. 패키지는 PyPI [2]에서 사용할 수 있습니다.
건배
답변
$ 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을 설치하는 것이 아니라 공식 우분투 저장소에서 “python-pydot”을 설치하는 것이 었습니다.
답변
이제 PyParsing-2 및 Python-3을 지원하는 것으로 보이는 버전이 2 개 이상 더 있습니다.
- PyDotPlus 에 의해 카를로스 젠킨스 편안한와 함께 buildbot과 화려한 트래비스 문서를 . 그러나 pydot을 가져 오는 기존 프로그램에서 작동
site-packages\pydotplus
하려면 폴더 이름을에서로 변경해야합니다site-packages\pydot
. - pydot3k by bmcorser . 슬프게도 작동하지 않았습니다!
- 공식 pydot Google 코드 페이지에서 링크 된 James Mills의 prologic / pydot …
Python 3 호환성을위한 분기
- 다음은 David Villa의 pydot2에 대한 작업 링크입니다.
https://pypi.python.org/pypi/pydot2/1.0.32