【问题标题】:Python: Installation issues with pygraphviz and graphvizPython:pygraphviz 和 graphviz 的安装问题
【发布时间】:2014-05-07 01:16:06
【问题描述】:

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

  • 我首先使用非官方 Windows 二进制文件安装了 pygraphviz 在我的 anaconda (python) 文件夹中使用这个 link ( 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 的路径。现在,由于我使用非官方的 Windows 二进制文件安装了pygraphviz,我可以修改哪个文件来链接libraryinclude 以获得graphviz 的路径?当您不使用非官方二进制文件时,您通常会在pygraphvizlibraryinclude 路径中找到setup.py

更新 1

我在SOFTWARE 下的Regedit 中的PATH 中添加了一个带有新key(默认)的文件夹GRAPHIZ,其值为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.

为什么?

【问题讨论】:

  • geotheory 来自stackoverflow.com/questions/2798858/… 的评论为我解决了这个问题......它有效
  • 当我添加时:library_path=r"C:\Program Files (x86)\Graphviz2.36\bin" include_path=r"C:\Program Files (x86)\Graphviz2.36\include\graphviz" 当我执行python setup.py build -c mingw32 时,我总是得到错误Import error: No Module named Release

标签: python graphviz pygraphviz


【解决方案1】:

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

先决条件:

  1. wheel(应该默认出现在较新的发行版中)
  2. pygraphviz (unofficial builds) 的正确 Windows 版本。在 Win7 x64 上,我选择了“pygraphviz‑$version-cp34‑none‑win_amd64.whl”。 (注意cp34表示python版本。)
  3. Graphviz installer 2.38 版(上面的轮子是为此构建的)

步骤:

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

【讨论】:

  • 好指南。在 Windows 8.1 上运行 Anaconda 2.3、Python 2.7.10。无需安装轮子。
  • 示例脚本不见了。 :(
  • 在撰写本文时,非官方二进制文件页面仍然没有可用的 Python 3.5 版本,这很遗憾。 Python 3.5 已经有一年多了。
  • @StudioEvoque 我的mac也遇到了同样的问题,你知道怎么解决吗?
  • 哇,终于为 pygraphviz 找到了一个 64 位的轮子,然后看到它是 python3.4,而我已经使用 python 3.5 与我需要的六个其他库进行了同样类型的斗争.这个 graphviz 构建生态系统是一场噩梦。希望有人把它作为一个副项目来取代它。
【解决方案2】:

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

【讨论】:

    【解决方案3】:

    您可以先安装“easy_install”(查看 How to use Python's "easy_install" on Windows ... it's not so easy) 那么需要 2 个包:“python-pygraph”和“libgv-python”。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-26
      • 2015-09-25
      • 2015-06-20
      • 1970-01-01
      • 2018-10-10
      • 2016-04-15
      • 2023-02-23
      • 1970-01-01
      相关资源
      最近更新 更多