在 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_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
【讨论】:
【参考方案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的主要内容,如果未能解决你的问题,请参考以下文章