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:
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 ?
IPython Anaconda, W7, GraphViz: png not recognized
@+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
-
- User
- Beiträge: 15
- Registriert: Freitag 23. Januar 2015, 22:08
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 ?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
@+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.
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.
-
- User
- Beiträge: 15
- Registriert: Freitag 23. Januar 2015, 22:08
Ach so ... ist es so gemeint ?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.
So, wie es im Lehrprogramm gezeigt wird, funktioniert bei demjenigen die Erzeugung der .png ohne Probleme.
@+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.
-
- User
- Beiträge: 15
- Registriert: Freitag 23. Januar 2015, 22:08
Ah ! Vielen Dank für die Geduld
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 ...
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 ...
@+VLFBERH+T: Der Ausgabe zufolge kann man mit dem ``dot`` *gar keine* Ausgabe erzeugen, da stimmt ganz eindeutig etwas nicht.
-
- 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):
@+VLFBERH+T: Derjenige der das Video gemacht hat, hat also offensichtlich eine funktionierende Graphviz-Installation. Das hilft Dir jetzt irgendwie aber nicht weiter.
-
- User
- Beiträge: 15
- Registriert: Freitag 23. Januar 2015, 22:08
Ja ... die Frage ist, was mir weiterhelfen könnte ...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.
Ist das Video auf YouTube? Wenn ja, könntest Du bitte den Link posten?+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.
-
- User
- Beiträge: 15
- Registriert: Freitag 23. Januar 2015, 22:08
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.MagBen hat geschrieben:Ist das Video auf YouTube? Wenn ja, könntest Du bitte den Link posten?+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.
-
- User
- Beiträge: 15
- Registriert: Freitag 23. Januar 2015, 22:08
Ich hatte das schon gemacht ... den GraphViz Ordner in Programme(x86) gelöscht, und nochmal komplett neu installiert. Scheint nichts gebracht zu habenSirius3 hat geschrieben:@+VLFBERH+T: am besten versuchst Du einfach graphviz nochmal neu zu installieren.
-
- 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 !
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
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
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.