IPython Anaconda, W7, GraphViz: png not recognized

Probleme bei der Installation?
+VLFBERH+T
User
Beiträge: 15
Registriert: Freitag 23. Januar 2015, 22:08

Hallo,

ich arbeite mich durch eine Videoserie durch, in der Anaconda (32 bit) IPython (Py 2.7) Notebook verwendet wird, auf Windows 7.

Es soll mit GraphViz eine png erstellt werden, und es ist ziemlich sicher, daß der Code korrekt ist, denn ich tippe 1:1 ab, was in dem Lehrvideo gezeigt wird.

Allerdings kommt bei mir eine häßliche Fehlermeldung:
Bild

Die Fehlermeldungwird nicht bis zu Ende geschrieben, und ich weiß leider nicht, wie ich sie vollständig sehen kann ...?!

Weiß jemand, warum es sein kann, daß "png" nicht erkannt wird ?
BlackJack

@+VLFBERH+T: Es scheint so als wenn Dein GraphViz kein PNG kann. Du kannst ``dot`` ja selbst mal von Hand aufrufen und ``-Tpng`` als Argument übergeben. Dann siehst Du auch die komplette Ausgabe. Bei mir sieht das so aus wenn ich etwas angebe was kein Format ist was mein GraphViz kann:

Code: Alles auswählen

$ dot -Txyz
Format: "xyz" not recognized. Use one of: canon cmap cmapx cmapx_np dot eps fig
gd gd2 gif gv imap imap_np ismap jpe jpeg jpg pdf plain plain-ext png ps ps2 svg
svgz tk vml vmlz vrml wbmp x11 xdot xlib
+VLFBERH+T
User
Beiträge: 15
Registriert: Freitag 23. Januar 2015, 22:08

BlackJack hat geschrieben:@+VLFBERH+T: Es scheint so als wenn Dein GraphViz kein PNG kann. Du kannst ``dot`` ja selbst mal von Hand aufrufen und ``-Tpng`` als Argument übergeben. Dann siehst Du auch die komplette Ausgabe. Bei mir sieht das so aus wenn ich etwas angebe was kein Format ist was mein GraphViz kann:

Code: Alles auswählen

$ dot -Txyz
Format: "xyz" not recognized. Use one of: canon cmap cmapx cmapx_np dot eps fig
gd gd2 gif gv imap imap_np ismap jpe jpeg jpg pdf plain plain-ext png ps ps2 svg
svgz tk vml vmlz vrml wbmp x11 xdot xlib
Hallo BlackJack, danke sehr für die Antwort. Leider kenne ich mich sehr wenig mit Python aus (in diesem Fall tippe ich buchstäblich nach, was in dem Lehrvideo angegeben wird; mein Verständnis zu vertiefen, was da warum genau gemacht wird, hebe ich mir für später auf :) ) ... deshalb bin ich nicht gaz sicher: hast du es so gemeint ?

Bild
BlackJack

@+VLFBERH+T: Das ist kein Python. ``dot`` ist das Programm von Graphviz das aufgerufen wird. Du musst das auf der Konsole Deines Betriebssystems ausführen und nicht im IPython-Notebook. Eventuell musst Du vorher in das Verzeichnis in dem die ``dot.exe`` liegt wechseln.

Edit: Man kann in IPython externe Befehle mit einem vorangestelltem Ausrufezeichen ausführen. Das funktioniert auch im IPython Notebook. Eventuell muss man auch dort in das Verzeichnis mit der ``dot.exe`` wechseln falls die nicht so installiert wurde das sie systemweit aufgerufen werden kann.
+VLFBERH+T
User
Beiträge: 15
Registriert: Freitag 23. Januar 2015, 22:08

BlackJack hat geschrieben:@+VLFBERH+T: Das ist kein Python. ``dot`` ist das Programm von Graphviz das aufgerufen wird. Du musst das auf der Konsole Deines Betriebssystems ausführen und nicht im IPython-Notebook. Eventuell musst Du vorher in das Verzeichnis in dem die ``dot.exe`` liegt wechseln.

Edit: Man kann in IPython externe Befehle mit einem vorangestelltem Ausrufezeichen ausführen. Das funktioniert auch im IPython Notebook. Eventuell muss man auch dort in das Verzeichnis mit der ``dot.exe`` wechseln falls die nicht so installiert wurde das sie systemweit aufgerufen werden kann.
Ach so ... ist es so gemeint ?

Bild

So, wie es im Lehrprogramm gezeigt wird, funktioniert bei demjenigen die Erzeugung der .png ohne Probleme.
BlackJack

@+VLFBERH+T: Das Dollarzeichen ist nicht Teil der Eingabe. Das ist wie das ``In[42]:`` in IPython das Zeichen für den Eingabeprompt von der Shell.
+VLFBERH+T
User
Beiträge: 15
Registriert: Freitag 23. Januar 2015, 22:08

Ah ! Vielen Dank für die Geduld :oops:

Bild

png wird in der Tat nicht erkannt. Dabei muß GraphViz das eigentlich können; wie gesagt, in dem Video funktioniert alles prima, und derjenige hat auch Windows 7 ... hmm ...
BlackJack

@+VLFBERH+T: Der Ausgabe zufolge kann man mit dem ``dot`` *gar keine* Ausgabe erzeugen, da stimmt ganz eindeutig etwas nicht.
+VLFBERH+T
User
Beiträge: 15
Registriert: Freitag 23. Januar 2015, 22:08

Hmm ... hier ist ein Screenshot, wie es in besagtem Video aussieht (Screenshots werden von dem Video Player verhindert, deshalb ein Foto):

Bild
BlackJack

@+VLFBERH+T: Derjenige der das Video gemacht hat, hat also offensichtlich eine funktionierende Graphviz-Installation. Das hilft Dir jetzt irgendwie aber nicht weiter.
+VLFBERH+T
User
Beiträge: 15
Registriert: Freitag 23. Januar 2015, 22:08

BlackJack hat geschrieben:@+VLFBERH+T: Derjenige der das Video gemacht hat, hat also offensichtlich eine funktionierende Graphviz-Installation. Das hilft Dir jetzt irgendwie aber nicht weiter.
Ja ... die Frage ist, was mir weiterhelfen könnte ... :?
Benutzeravatar
MagBen
User
Beiträge: 799
Registriert: Freitag 6. Juni 2014, 05:56
Wohnort: Bremen
Kontaktdaten:

+VLFBERH+T hat geschrieben:ich arbeite mich durch eine Videoserie durch, in der Anaconda (32 bit) IPython (Py 2.7) Notebook verwendet wird, auf Windows 7.
Ist das Video auf YouTube? Wenn ja, könntest Du bitte den Link posten?
a fool with a tool is still a fool, www.magben.de, YouTube
Sirius3
User
Beiträge: 17703
Registriert: Sonntag 21. Oktober 2012, 17:20

@+VLFBERH+T: am besten versuchst Du einfach graphviz nochmal neu zu installieren.
+VLFBERH+T
User
Beiträge: 15
Registriert: Freitag 23. Januar 2015, 22:08

MagBen hat geschrieben:
+VLFBERH+T hat geschrieben:ich arbeite mich durch eine Videoserie durch, in der Anaconda (32 bit) IPython (Py 2.7) Notebook verwendet wird, auf Windows 7.
Ist das Video auf YouTube? Wenn ja, könntest Du bitte den Link posten?
Hallo ... nein, es ist eine Videoserie, das ich gekauft hatte, was in einem eigenen Player abgespielt wird. Deshalb konnte ich auch keinen "normalen" Screenshot posten, da das von dem Player verhindert wird, sondern nur ein Foto.
+VLFBERH+T
User
Beiträge: 15
Registriert: Freitag 23. Januar 2015, 22:08

Sirius3 hat geschrieben:@+VLFBERH+T: am besten versuchst Du einfach graphviz nochmal neu zu installieren.
Ich hatte das schon gemacht ... den GraphViz Ordner in Programme(x86) gelöscht, und nochmal komplett neu installiert. Scheint nichts gebracht zu haben :cry:
BigFiszh
User
Beiträge: 6
Registriert: Samstag 28. Februar 2015, 22:00

Hallo, habe das gleiche Video durchgearbeitet, und muss ziemlich sicher an deiner GraphViz-Installation liegen:

Bild

Daher wird es dann auch schwierig mit Hilfestellung ... oder ist das Problem schon gelöst?
+VLFBERH+T
User
Beiträge: 15
Registriert: Freitag 23. Januar 2015, 22:08

Hey ! Nein, leider ist das nie gelöst worden. In der Tat, es muß an GraphViz liegen, das ich aber ganz normal installiert habe (mehrfach sogar, in der Zwischenzeit); ich habe eigentlich eine "ganz normale" Windows 7 Maschine. Es gibt auch ein GraphViz Forum, in dem ich das Problem beschrieb, aber auch dort wußte keiner einen Ausweg. Sogar mit Will Tipton persönlich hatte ich mich geschrieben ... Bist du mit der Serie bis zum Ende gekommen, und benutzt es ? PM coming !
LisaM
User
Beiträge: 5
Registriert: Sonntag 8. November 2020, 19:02

Hallo,
ich bin völlig verzweifelt da ich schon seit Stunden versuche graphviz mit PyCharm unter Windows 10 zu installieren/benutzen.
Leider funktioniert es nicht richtig. Wer kann mir helfen ?

from graphviz import Digraph

dot = Digraph(comment='The Round Table')

dot.node('A', 'King Arthur')
dot.node('B', 'Sir Bedevere the Wise')
dot.node('L', 'Sir Lancelot the Brave')

dot.edges(['AB', 'AL'])
dot.edge('B', 'L', constraint='false')

print(dot.source)

dot.render('test-output/round-table.gv', view=True)
'test-output/round-table.gv.pdf'

Dann kommen die Fehlermeldungen.
Traceback (most recent call last):
File "C:\Users\lisa\PycharmProject\GraphVizTree\venv\lib\site-packages\graphviz\backend.py", line 164, in run
proc = subprocess.Popen(cmd, startupinfo=get_startupinfo(), **kwargs)
File "C:\Users\lisa\AppData\Local\Programs\Python\Python38\lib\subprocess.py", line 854, in __init__
self._execute_child(args, executable, preexec_fn, close_fds,
File "C:\Users\lisa\AppData\Local\Programs\Python\Python38\lib\subprocess.py", line 1307, in _execute_child
hp, ht, pid, tid = _winapi.CreateProcess(executable, args,
FileNotFoundError: [WinError 2] Das System kann die angegebene Datei nicht finden

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "C:/Users/lisa/PycharmProject/GraphVizTree/main.py", line 16, in <module>
dot.render('test-output/round-table.gv', view=True)
File "C:\Users\lisa\PycharmProject\GraphVizTree\venv\lib\site-packages\graphviz\files.py", line 207, in render
rendered = backend.render(self._engine, format, filepath,
File "C:\Users\lisa\PycharmProject\GraphVizTree\venv\lib\site-packages\graphviz\backend.py", line 221, in render
run(cmd, capture_output=True, cwd=cwd, check=True, quiet=quiet)
File "C:\Users\lisa\PycharmProject\GraphVizTree\venv\lib\site-packages\graphviz\backend.py", line 167, in run
raise ExecutableNotFound(cmd)
graphviz.backend.ExecutableNotFound: failed to execute ['dot', '-Tpdf', '-O', 'round-table.gv'], make sure the Graphviz executables are on your systems' PATH
// The Round Table
digraph {
A [label="King Arthur"]
B [label="Sir Bedevere the Wise"]
L [label="Sir Lancelot the Brave"]
A -> B
A -> L
B -> L [constraint=false]
}

Process finished with exit code 1
__deets__
User
Beiträge: 14480
Registriert: Mittwoch 14. Oktober 2015, 14:29

Hast du das eigentliche graphviz installiert und mal probiert, ob es mit einer handgeschriebenen .dot-Datei klarkommt? Denn das Python-Paket ist nur ein Wrapper um die eigentliche Software, die muss installiert sein.
LisaM
User
Beiträge: 5
Registriert: Sonntag 8. November 2020, 19:02

Hallo,
Entschuldigung dass es solange gedauert hat.
Das probiere ich mal aus und melde mich dann gleich wieder. Danke.
Antworten