4

在我的 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 丢失?)。

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

library_path 和 include_path 的当前设置为: library_path=None include_path=None

错误:无

任何想法如何解决这个问题?这似乎是与此处描述
的问题不同的问题。 有没有人在 Windows 上安装 pygraphviz 成功?如何?

4

5 回答 5

5

这对我有用。前提条件:安装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 文件夹中

享受!

于 2011-09-24T04:36:23.087 回答
3

对于 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

pygraphviz将刚刚构建的lib.win32-2.7(名为PYTHONPATH

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

C:\Python27\libs\site_packages\pygraphviz
于 2012-12-07T05:31:54.557 回答
1

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

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

以及http://www.swig.org/Doc1.3/Python.html#Python_nn12

于 2011-01-06T00:11:14.863 回答
1

我只花了半个小时试图弄清楚为什么上面的答案对我不起作用,结果发现它们已经过时,library_path不再include_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

于 2015-02-25T14:17:39.660 回答
1

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

  1. 从 graphviz Graphviz 站点下载 graphviz-2.38.msi
  2. 安装 msi(我使用具有管理员权限的 cmd)

    msiexec /a graphviz-2.38.msi

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

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

  4. 然后我必须从这个非常有用的站点获取特定的 Windows pygraphviz 轮,特别是 pygraphviz-1.3.1-cp34-none-win_amd64.whl

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

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

现在一切都很好。

于 2016-02-03T14:33:38.040 回答