Python pygraphviz 安装方法

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/xiaoxiaolibai/article/details/47114695

查阅了千百篇文章和教程,终于在自己的电脑上安装好了pygraphviz,下面把安装过程记录一下。

1.安装graphviz,
http://www.graphviz.org/pub/graphviz/stable/windows/graphviz-2.28.0.msi。我将它安装到了我的E盘之下。
2.下载pygraphviz源码包,
http://pypi.python.org/packages/source/p/pygraphviz/pygraphviz-1.1.zip
3.解压pygraphviz的压缩包,参考网上的文章,修改了setup.py,但在我的setup文件中没有找到library_path、include_path等关键词,因此按照自己理解进行修改:

include_dirs = "E:\Graphviz\include\graphviz"
library_dirs = "E:\Graphviz\bin"

以及

extension_args['runtime_library_dirs'] = None

执行install后报错,检查发现是因为系统变量中没有VS90COMNTOOLS,但当时觉得很奇怪,VS2008和VS2010我明明都有安装,这时看到网上铺天盖地的教程都需要安装mingw32,并且需要将安装文件先编译后安装,于是立即安装了mingw32,然后对setup.py文件进行编译。于是开始了无穷尽的麻烦。
编译过程中不断地出现报错,于是自己不断地在网上查阅前辈们的安装方法和编译方法,并逐个进行尝试,包括:
1. 修改文件unixcompiler.py,(“C:\python27\lib\distutils\unixcompiler.py”)如下:
old: compiler = os.path.basename(sysconfig.get_config_var(“CC”))
new: compiler = “gcc”
2. 修改setup.py,
library_path=r’E\Graphviz\lib\release\lib’
include_path=r’E\Graphviz\include\graphviz’

library_path=r’E\Graphviz\bin’
include_path=r’E\Graphviz\include’

    ……
3. 修改所有的文件夹名称和路径,避免windows路径的问题,为路径添加字符串等以避免路径歧义、删除文件版本号等等……
试过了众多方法,我的编译始终出现‘ "graphviz/cgraph.h" no such file or dictionarary ’的问题,最终无解。

因为在一篇文章中看到有作者说他使用mingw32无法完成安装过程,于是我又将注意力投到了安装MSVC的方式。我的计算机已经安装过VS08和10,系统路径中只有VS100COMNTOOLS而没有VS90COMNTOOLS,后发现直接设置修改就可以了:

SET VS90COMNTOOLS=%VS100COMNTOOLS% 

之后我直接执行了安装过程,依然有问题,随后又修改了setup.py,

include_dirs = "E:\Graphviz\include"
library_dirs = "E:\Graphviz\bin"

以及 extension_args[‘runtime_library_dirs’] 恢复为默认,

extension_args['runtime_library_dirs'] = library_dirs

直接安装成功!

测试一下,运行examples中的simple.py,成功。结果如下:
这里写图片描述
图片结果为:
这里写图片描述

参考:
http://www.educity.cn/wenda/356881.html
http://www.cnblogs.com/lypkiller/archive/2013/01/07/2849486.html
http://stackoverflow.com/questions/8224817/installing-pygraphviz-on-windows-python-2-7
http://stackoverflow.com/questions/2798858/installing-pygraphviz-on-windows-python-2-6

展开阅读全文

没有更多推荐了,返回首页