在 Windows 上安装 pygraphviz

Posted

技术标签:

【中文标题】在 Windows 上安装 pygraphviz【英文标题】:Installing pygraphviz on windows 【发布时间】:2011-06-02 01:07:30 【问题描述】:

在我的 Windows 7 Ultimate 64bit 上安装最新的 graphviz (2.26.3) 后,我收到以下错误:

C:>easy_install pygraphviz 搜索 用于 pygraphviz 阅读 http://pypi.python.org/simple/pygraphviz/ 读 http://networkx.lanl.gov/pygraphviz 读 http://networkx.lanl.gov/wiki/download 读 http://networkx.lanl.gov/download/pygraphviz 读 http://sourceforge.net/project/showfiles.php?group_id=122233&package_id=161979 读 http://networkx.lanl.gov/download最佳 匹配:pygraphviz 1.1.dev1947 下载 http://networkx.lanl.gov/download/pygraphviz/pygraphviz-1.1.dev1947.tar.gz 加工 pygraphviz-1.1.dev1947.tar.gz 运行 pygraphviz-1.1.dev1947\setup.py -q bdist_egg --dist-dir c:\users\jonathan\appdata\local\temp\easy_install-apywwk\pygraphviz-1.1.dev1947\egg-dist-tmp-nvd0pa 尝试 pkg-config 找不到 pkg-config 尝试 dotneato-config 找不到 dotneato-config

您的 graphviz 安装无法 找到了。

graphviz 包丢失 在不完整(二进制包 graphviz-dev 或 graphviz-devel 不见了?)。

如果您认为您的安装是 正确,您将需要手动 更改 include_path 和 setup.py 中的 library_path 变量 指向您的正确位置 graphviz 安装。

library_path 的当前设置 并且 include_path 是: library_path=None include_path=None

错误:无

任何想法如何解决这个问题? 这似乎与described here 的问题不同。 有没有人 成功?怎么样?

【问题讨论】:

我已经关注了这些instructions 并设法在我的机器上安装了 pygraphviz。 我能够做到并在这里给出我的步骤:***.com/a/45362845/714413 您可以下载:github.com/CristiFati/Prebuilt-Binaries (***.com/a/54890705/4788546)。 【参考方案1】:

这对我有用。 前提条件:安装mingw32(如果你正在使用它,包含在pythonxy distrib中),Graphviz

1) 下载 pygraphviz 源代码

2) 编辑 setup.py 以将路径更改为类似

library_path=r"c:\Program Files (x86)\Graphviz 2.28\bin"
include_path=r"c:\Program Files (x86)\Graphviz 2.28\include\graphviz"

请注意,它是 \bin,而不是 \lib。与库链接对我不起作用。

3) 运行python setup.py build -c mingw32

第 3 步的结果:

c:\Python27\Lib\site-packages\pygraphviz-1.1>python setup.py build -c mingw32
library_path=c:\Program Files (x86)\Graphviz 2.28\bin
include_path=c:\Program Files (x86)\Graphviz 2.28\include\graphviz
running build
running build_py
running build_ext
building 'pygraphviz._graphviz' extension
C:\MinGW32-xy\bin\gcc.exe -mno-cygwin -mdll -O -Wall "-Ic:\Program Files (x86)\G
raphviz 2.28\include\graphviz" -Ic:\Python27\include -Ic:\Python27\PC -c pygraph
viz/graphviz_wrap.c -o build\temp.win32-2.7\Release\pygraphviz\graphviz_wrap.o
pygraphviz/graphviz_wrap.c: In function 'agattr_label':
pygraphviz/graphviz_wrap.c:2855:5: warning: return makes integer from pointer wi
thout a cast
writing build\temp.win32-2.7\Release\pygraphviz\_graphviz.def
C:\MinGW32-xy\bin\gcc.exe -mno-cygwin -shared -s build\temp.win32-2.7\Release\py
graphviz\graphviz_wrap.o build\temp.win32-2.7\Release\pygraphviz\_graphviz.def "
-Lc:\Program Files (x86)\Graphviz 2.28\bin" -Lc:\Python27\libs -Lc:\Python27\PCb
uild "-Wl,-Rc:\Program Files (x86)\Graphviz 2.28\bin" -lcgraph -lcdt -lpython27
-lmsvcr90 -o build\lib.win32-2.7\pygraphviz\_graphviz.pyd

4) 将刚刚构建的 lib.win32-2.7(名为 pygraphviz 的单个子文件夹)中的结果复制到 Python 的 site-packages 文件夹中

享受吧!

【讨论】:

【参考方案2】:

对于 Windows 64 位:

与 Andrew Filev 所写的类似,但您需要使用 pythonxy,并且您需要将 Graphviz 安装在不包含空格的文件夹中(包括程序的根文件夹:“Graphviz 2.28”=>“Graphviz2 .28"

所以:

1) 卸载python 2.7

2) 安装 pythonxb (http://code.google.com/p/pythonxy/wiki/Downloads)

3) 安装 Graphviz 2.28(我测试过的唯一一个),确保安装路径中没有空格。一个很好的例子是:“C:\Graphviz2.28”

4) 将 pygraphviz 下载为 zip(源代码)并解压缩。

5) 修改靠近顶部的setup.py 有

library_path=r"c:\Graphviz2.28\bin"
include_path=r"c:\Graphviz2.28\include\graphviz"

6) 运行:python setup.py build -c mingw32

7) 看到这个结果后(比之前发布的要好得多):

>python setup.py build -c mingw32
library_path=c:\Graphviz2.28\bin
include_path=c:\Graphviz2.28\include\graphviz
running build
running build_py
running build_ext

将刚刚构建的 lib.win32-2.7(名为 pygraphviz 的单个子文件夹)的结果复制到 Python 的 site-packages 文件夹中,您可能需要自己制作 + 将 pygraphviz 的新根文件夹绑定到环境变量PYTHONPATH

例如,最终库可能位于此处:

C:\Python27\libs\site_packages\pygraphviz

【讨论】:

【参考方案3】:

PyGraphviz 使用 C 语言扩展模块(由 SWIG 生成)。所以你需要一个编译器来构建扩展。您可能需要构建 Python 可执行文件的相同编译器。

这个问题Building Python C extension modules for Windows有一些信息

还有http://www.swig.org/Doc1.3/Python.html#Python_nn12

【讨论】:

【参考方案4】:

我只花了半个小时试图弄清楚为什么上面的答案对我不起作用,结果发现它们已经过时了,因为 library_pathinclude_path 不再是相关的名称变量。以下是在 Windows 7 32 位 Python 2.7 上对我有用的方法:

setup.py

library_dirs = r'C:\PROGRA~2\Graphviz2.38\bin'
include_dirs = r'C:\PROGRA~2\Graphviz2.38\include'

然后运行python setup.py build -c mingw32

【讨论】:

【参考方案5】:

一个老问题,但我刚刚完成了这个,找不到 Python 3 的具体答案,而且我不必做上述一半的事情。所以就在这里。我在 Win7 64 位、64 位 Python3.4 上并使用虚拟环境。我正在使用它使用 django-extensions 从 django 模型生成数据库原理图,非常有用!

    从graphvizGraphviz site下载graphviz-2.38.msi

    安装 msi(我使用具有管理员权限的 cmd)

    msiexec /a graphviz-2.38.msi

    由于某种原因,这不会将 Graphviz 添加到您的系统路径中,因此您需要手动执行此操作。对我来说这是

    SET PATH=%PATH%;C:\Program Files (x86)\Graphviz2.38\bin

    然后我必须从 this really useful site 获取特定的 Windows pygraphviz 轮,特别是 pygraphviz-1.3.1-cp34-none-win_amd64.whl

    一旦我有了这个,我就使用 pip/mingw32 将它安装到我的虚拟环境中

    $ pip install pygraphviz-1.3.1-cp34-none-win_amd64.whl

现在一切正常。

【讨论】:

以上是关于在 Windows 上安装 pygraphviz的主要内容,如果未能解决你的问题,请参考以下文章

怎么在windows上安装Atom

redis怎么在windows上安装

如何在Windows上安装FFmpeg程序

如何在Windows上安装FFmpeg程序

在Windows上安装MongoDB

Framework 2.0怎么安装在windows CE上