16

我看到很多关于正确安装pygraphvizgraphviz在 Windows for Python 2.7 上的困难的问题。但是我找到的答案没有解决我的问题。这是我所做的:

  • 我首先使用非官方 Windows 二进制文件安装了 pygraphviz,此链接位于我的 anaconda (python) 文件夹 ( C:\Users\chamar\AppData\Local\Continuum\Anaconda)
  • 下载 graphviz-2.36.msi 并安装在默认路径下C:\Program Files (x86)\Graphviz2.36

Python中的命令import pygraphviz有效。但是当我想使用说这个功能时,nx.graphviz_layout我得到了raise ValueError("Program %s not found in path."%prog)

可能导致此问题的原因是pygraphviz无法找到graphviz. 现在,由于我pygraphviz使用非官方的 Windows 二进制文件安装,我可以修改哪个文件来链接 thelibraryincludeforgraphviz的路径?当您不使用非官方二进制文件时,setup.py您通常会在pygraphvizlibrary路径中找到。include

更新 1

我在文件夹 GRAPHIZ 下添加PATHRegedit一个SOFTWARE新的key(默认)值C:\Program Files (x86)\Graphviz2.36\bin

更新 2

我在pydot.py文件中遇到关于 Python 定位 Graphviz 路径的困难的错误。我进行了如下更改:

def _graphviz():
    if os.sys.platform == 'win32':
        path = r"C:/Program Files (x86)/Graphviz2.36/bin/"
        progs = __find_executables(path)
        return progs

find_graphviz()
{'fdp': 'C:/Program Files (x86)/Graphviz2.36/bin/fdp.exe', 'twopi': 'C:/Program Files (x86)/Graphviz2.36/bin/twopi.exe', 'neato': 'C:/Program Files (x86)/Graphviz2.36/bin/neato.exe', 'dot': 'C:/Program Files (x86)/Graphviz2.36/bin/dot.exe', 'circo': 'C:/Program Files (x86)/Graphviz2.36/bin/circo.exe'}

这对我来说似乎没问题,但是当我执行时说:

positions = nx.graphviz_layout(G, prog='twopi', root=0)

我得到:

    Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Users\chamar.stu\AppData\Local\Continuum\Anaconda\lib\site-packages\networkx\drawing\nx_agraph.py", line 229, in graphviz_layout
    return pygraphviz_layout(G,prog=prog,root=root,args=args)
  File "C:\Users\chamar.stu\AppData\Local\Continuum\Anaconda\lib\site-packages\networkx\drawing\nx_agraph.py", line 264, in pygraphviz_layout
    A.layout(prog=prog,args=args)
  File "C:\Users\chamar.stu\AppData\Local\Continuum\Anaconda\lib\site-packages\pygraphviz\agraph.py", line 1305, in layout
    data=self._run_prog(prog,' '.join([args,"-T",fmt]))
  File "C:\Users\chamar.stu\AppData\Local\Continuum\Anaconda\lib\site-packages\pygraphviz\agraph.py", line 1251, in _run_prog
    runprog=r'"%s"'%self._get_prog(prog)
  File "C:\Users\chamar.stu\AppData\Local\Continuum\Anaconda\lib\site-packages\pygraphviz\agraph.py", line 1239, in _get_prog
    raise ValueError("Program %s not found in path."%prog)
ValueError: Program twopi not found in path.

为什么?

4

3 回答 3

13

以下是我为使 pygraphviz 为 Python 3.4 工作而遵循的步骤(我认为如果你遵循类似的步骤,它应该适用于 Python 2.x)。我只是在这里为页面的未来访问者记录它:

先决条件:

  1. 轮子(默认情况下应该存在于较新的发行版中)
  2. pygraphviz 的正确 Windows 版本(非官方版本)。在 Win7 x64 上,我选择了“pygraphviz‑<em>$version-cp34‑none‑win_amd64.whl”。(注意cp34指示python版本。)
  3. Graphviz安装程序2.38 版(上面的轮子是为此构建的)

脚步:

  1. 运行 Graphviz 安装程序
  2. 将 Graphviz\bin 文件夹添加到您的用户或系统 PATH
  3. 检查:打开命令提示符并执行twopi -V。您应该能够看到打印到控制台上的 Graphviz 版本。
  4. 现在转到您的 Python 环境(例如,通过运行anaconda.bat,您可以运行的提示python
  5. pip install pygraphviz‑*$version*-cp34‑none‑win_amd64.whl
  6. 你完成了 :) !运行示例脚本以查看是否一切顺利。
于 2015-03-03T13:25:51.817 回答
0

您会在此站点上找到大量可安装的软件包:http ://www.lfd.uci.edu/~gohlke/pythonlibs/包括您尝试安装的那些。我知道我回答得太晚了,但我刚刚成为会员。

于 2015-01-04T01:22:21.230 回答
-1

You may first install "easy_install" (look at How to use Python's "easy_install" on Windows ... it's not so easy) then 2 packages are required: 'python-pygraph' & 'libgv-python'.

于 2015-01-19T21:54:01.273 回答