fail to visualize a network in python - issue with pygraphviz?
Question: As I use some code to visualize a network, I encountered an error

    
    
    Traceback (most recent call last):
    File "networkplot.py", line 21, in <module>
    pos = graphviz_layout(G, prog='neato')
    File "/opt/conda/lib/python2.7/site-packages/networkx/drawing/nx_agraph.py", line 228, in graphviz_layout
    return pygraphviz_layout(G,prog=prog,root=root,args=args)
    File "/opt/conda/lib/python2.7/site-packages/networkx/drawing/nx_agraph.py", line 258, in pygraphviz_layout
    'http://pygraphviz.github.io/')
    ImportError: ('requires pygraphviz ', 'http://pygraphviz.github.io/')
    

I therefore download `pygraphiviz-1.3.1.tar.gz` and `pip install pygraphviz`.
It showed

    
    
    Failed building wheel for pygraphviz
    Running setup.py clean for pygraphviz
    Failed to build pygraphviz
    Installing collected packages: pygraphviz
    Running setup.py install for pygraphviz ... error
    Complete output from command /opt/conda/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-0RJB9q/pygraphviz/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-vo59d4-record/install-record.txt --single-version-externally-managed --compile:
    running install
    Trying pkg-config
    Package libcgraph was not found in the pkg-config search path.
    Perhaps you should add the directory containing `libcgraph.pc'
    to the PKG_CONFIG_PATH environment variable
    No package 'libcgraph' found
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/tmp/pip-build-0RJB9q/pygraphviz/setup.py", line 87, in <module>
        tests_require=['nose>=0.10.1', 'doctest-ignore-unicode>=0.1.0',],
      File "/opt/conda/lib/python2.7/distutils/core.py", line 151, in setup
        dist.run_commands()
      File "/opt/conda/lib/python2.7/distutils/dist.py", line 953, in run_commands
        self.run_command(cmd)
      File "/opt/conda/lib/python2.7/distutils/dist.py", line 972, in run_command
        cmd_obj.run()
      File "setup_commands.py", line 44, in modified_run
        self.include_path, self.library_path = get_graphviz_dirs()
      File "setup_extra.py", line 121, in get_graphviz_dirs
        include_dirs, library_dirs = _pkg_config()
      File "setup_extra.py", line 44, in _pkg_config
        output = S.check_output(['pkg-config', '--libs-only-L', 'libcgraph'])
      File "/opt/conda/lib/python2.7/subprocess.py", line 573, in check_output
        raise CalledProcessError(retcode, cmd, output=output)
    subprocess.CalledProcessError: Command '['pkg-config', '--libs-only-L', 'libcgraph']' returned non-zero exit status 1
    
    ----------------------------------------
    Command "/opt/conda/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-0RJB9q/pygraphviz/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-vo59d4-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-build-0RJB9q/pygraphviz/
    

The code that I used:

    
    
    import networkx as nx
    import matplotlib.pyplot as plt
    plt.switch_backend('agg')
    from networkx.drawing.nx_agraph import graphviz_layout
    import graphs 
    
    A = graphs.create_graph()
    graph = A.graph
    G, labels = A.networkList()
    
    fig = plt.figure()
    pos = graphviz_layout(G, prog='neato')
    

Could anyone let me know how to solve this? I highly appreciate your
assistance. Thank you very much!


Answer: `libcgraph` is part of the graphviz package from <http://graphviz.org/>.
You'll need to install that before you install `pygraphviz`. The `graphviz`
package you are installing with pip is a Python package and not the graphviz
package you need.

