【问题标题】:Installing pygraphviz on windows在 Windows 上安装 pygraphviz
【发布时间】: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/pygraphvizhttp://networkx.lanl.gov/wiki/downloadhttp://networkx.lanl.gov/download/pygraphvizhttp://sourceforge.net/project/showfiles.php?group_id=122233&package_id=161979http://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 的问题不同。
有没有人在 Windows 上安装 pygraphviz 成功?怎么样?

【问题讨论】:

标签: windows failed-installation pygraphviz


【解决方案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 模型生成数据库原理图,非常有用!

          1. 从graphvizGraphviz site下载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. 然后我必须从 this really useful site 获取特定的 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

          现在一切正常。

          【讨论】:

            猜你喜欢
            • 2012-01-03
            • 2011-02-17
            • 2014-05-08
            • 2017-12-19
            • 2017-04-10
            • 2020-09-15
            • 2015-02-26
            • 2020-07-15
            相关资源
            最近更新 更多