在Windows上安装PygraphViz,Python 2.6

jbo*_*chi 20 c python windows installation graphviz

有人在Windows上成功安装了PygraphViz吗?

由于没有适用于Windows的正式版本,我正在尝试自己构建它,但它无法编译.我不是第一个面对这个问题,但我无法找到答案.

这是控制台输出:

C:\Python26\Lib\site-packages\pygraphviz-0.99.1>c:\python26\python.exe setup.py
install
library_path=C:/Program Files/Graphviz2.26.3/lib/debug/dll
include_path=C:/Program Files/Graphviz2.26.3/include/graphviz
running install
running build
running build_py
running build_ext
building 'pygraphviz._graphviz' extension
C:\Program Files\Microsoft Visual Studio 9.0\VC\BIN\cl.exe /c /nologo /Ox /MD /W
3 /GS- /DNDEBUG "-IC:/Program Files/Graphviz2.26.3/include/graphviz" -Ic:\python
26\include -Ic:\python26\PC /Tcpygraphviz/graphviz_wrap.c /Fobuild\temp.win32-2.
6\Release\pygraphviz/graphviz_wrap.obj
graphviz_wrap.c
warning: I don't know what to do with 'runtime_library_dirs': ['C:/Program Files
/Graphviz2.26.3/lib/debug/dll']
error: don't know how to set runtime library search path for MSVC++
Run Code Online (Sandbox Code Playgroud)

任何帮助,将不胜感激!

geo*_*ory 17

我很欣赏这可能是一个过时的线程,但是要为目前正在使用这个墙的其他人更新它,Christoph Gohlke的非扩展软件包非官方Windows二进制文件的安装程序刚刚为我工作..


小智 4

以下是 Python 2.7 中对我有用的内容。我认为它在 Python 2.6 中应该类似地工作。前提条件:安装 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"
Run Code Online (Sandbox Code Playgroud)

请注意,它是 \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
Run Code Online (Sandbox Code Playgroud)

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

享受!

  • 由于缺少 -mno-cygwin,带有 gcc 4.6.x 的 mingw32 无法与 Python 2.7.2 distutils 一起使用。这是一个已知的 Python 核心问题。ptyhonxy 仍然附带 4.5.x。 (3认同)