yoki
yoki

Reputation: 1816

Python graphviz - pydot.Dot.write_png doesn't work on Windows

I am using Python to create a graph via pydot.Dot.

When I want to write the graph to PNG, I use pydot.Dot.write_png(...). Unfortunately, it fails at the stage of finding graphviz (in a function called find_graphviz).

I tried installing it as a software but I don't see how it can be imported to Python.

How can I solve this problem?

Upvotes: 3

Views: 8846

Answers (2)

eternalmothra
eternalmothra

Reputation: 221

Even after adding Graphviz to my PATH, it wasn't working. I ended up going into the pydot.py file and commenting out everything in find_graphviz() and writing in the line:

`return {'dot': 'C:\\Program Files\\graphviz-2.38\\bin\\dot.exe'}`

That's where my dot file was located, you might have it in a different location.

Upvotes: 4

Txema
Txema

Reputation: 857

Try manually adding the Graphviz\bin folder to your systems PATH.

>>> import pydot
>>> pydot.find_graphviz()
{'dot': 'C:\\Program Files (x86)\\Graphviz 2.28\\bin\\dot.exe'} #...
>>> print pydot.find_graphviz.__doc__
"""
Locate Graphviz's executables in the system.

    Tries three methods:

    First: Windows Registry (Windows only)
    This requires Mark Hammond's pywin32 is installed.

    Secondly: Search the path
    It will look for 'dot', 'twopi' and 'neato' in all the directories
    specified in the PATH environment variable.

    Thirdly: Default install location (Windows only)
    It will look for 'dot', 'twopi' and 'neato' in the default install
    location under the "Program Files" directory.

    It will return a dictionary containing the program names as keys
    and their paths as values.

    If this fails, it returns None.
"""

Upvotes: 1

Related Questions