Этот вопрос основан на ответе Таруна для рендеринга дерева в python с использованием anytree и graphviz: https://stackoverflow.com/a/49442969/2139007
После установки graphviz и добавления его в мои переменные PATH я пытаюсь запустить следующий код на python:
DotExporter(nodes[0]["a"],
nodeattrfunc=lambda node: 'label="{}"'.format(node.display_name)).to_picture("tree.png")
Приведенный выше код генерирует следующую ошибку:
Error: dot: can't open C:\Users\username\AppData\Local\Temp\tmpa7t554le
Traceback (most recent call last):
File "D:\mypath\tree.py", line 34, in <module>
dot.to_picture('tree.png')
File "C:\Users\username\AppData\Local\Programs\Python\Python36-32\lib\site-packages\anytree\exporter\dotexporter.py", line 229, in to_picture
check_call(cmd)
File "C:\Users\username\AppData\Local\Programs\Python\Python36-32\lib\subprocess.py", line 291, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['dot', 'C:\\Users\\username\\AppData\\Local\\Temp\\tmpa7t554le', '-T', 'png', '-o', 'tree.png']' returned non-zero exit status 2.
Проблема не возникает, если я запускаю команду точки ' dot tree.dot -T png -o tree.png 'вручную из консоли после создания файла .dot
DotExporter(nodes[0]["a"],
nodeattrfunc=lambda node: 'label="{}"'.format(node.display_name)).to_dotfile('tree.dot')
Есть ли способ решить эту проблему?