2015-11-12 21 views
8

Ich brauche eine pythonic Graph Lösung durch pydot zu bauen und wenn versucht, wie eine einfache Code auszuführen:Pydot Fehler: Dateiformat „png“ nicht erkannt

import pydot 

graph = pydot.Dot(graph_type='graph') 
i=1 
edge = pydot.Edge("A", "B%d" % i) 
graph.add_edge(edge) 
graph.write_png('graph.png') 

die entworfen, um eine einfache grafische Darstellung zu bauen (A -B1) in der PNG-Datei. Nach vielen Fehlkonfigurationen zur Festsetzung, jetzt habe ich:

Traceback (most recent call last): 
    File "/Users/zallaricardo/Documents/Python/test_png.py", line 7, in <module> 
    graph.write_png('graph.png') 
    File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pydot.py", line 1809, in <lambda> 
    lambda path, f=frmt, prog=self.prog : self.write(path, format=f, prog=prog)) 
    File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pydot.py", line 1911, in write 
    dot_fd.write(self.create(prog, format)) 
    File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pydot.py", line 2023, in create 
    status, stderr_output)) 
pydot.InvocationException: Program terminated with status: 1. stderr follows: Format: "png" not recognized. Use one of: 

logout 

und bis jetzt nicht eine gerade Lösung für meine bestimmte Umgebung finden konnte. Irgendein Hinweis darauf, wie ich es beheben kann? Müssen für Python 2.7 und Mac OS X 10.9 arbeiten.

Meine aktuellen installierten Pakete:

cycler==0.9.0 
decorator==4.0.4 
graphviz==0.4.7 
matplotlib==1.5.0 
networkx==1.10 
numpy==1.10.1 
pydot2==1.0.33 
pyparsing==1.5.7 
PyPDF2==1.25.1 
python-dateutil==2.4.2 
pytz==2015.7 
six==1.10.0 
wheel==0.26.0 

Ich mag nur das gleiche Ergebnis in https://pythonhaven.wordpress.com/2009/12/09/generating_graphs_with_pydot/

+0

Versuchen Sie, den Punkt Datei mit 'write_raw' Dumping und den Befehl manuell ausgeführt wird, das heißt' Punkt -Tjpeg -o/Ausgabe/Datei -v/Ihre/Punkt/Datei. Was ist die Ausgabe dieses Befehls? – memoselyk

+0

@memoselyk Ich bin mir nicht sicher, was Sie meinen, indem Sie die Punktdatei mit 'write_raw 'ausgeben, aber die Ausgabe für' dot -Tjpeg - ... 'ist: ' dot - graphviz Version 2.38.0 (20140413.2041) Format : "jpeg" nicht erkannt. Verwenden Sie eine der folgenden Optionen: ' – zallaricardo

+1

Ist die Liste 'Eine von' verwenden leer? Was ist mit 'dot -Tjpg:'? Wie hast du _graphviz_ installiert, von einem dpkg oder kompiliert (mit Homebrew/Macports)? Vielleicht treffen Sie diesen [Bug] (http://www.graphviz.org/content/dot-jpeg-and-mavericks), bitte versuchen Sie graphviz 2.39. – memoselyk

Antwort

0

gezeigt erreichen Könnten Sie pydot2 und installieren pydot versuchen zu deinstallieren?

$ pip uninstall pydot2 
$ pip install pydot>=1.2.3 

Ohne jede Änderung im Skript, ich habe die folgende Ausgabe

Graph