主要参考资料: (python-igraph's documentation)
http://hal.elte.hu/~nepusz/development/igraph/tutorial/index.html
一、iGraph的安装
参考 http://hal.elte.hu/~nepusz/development/igraph/tutorial/install.html#igraph-on-windows
igraph is primarily a library written in C. It is not a standalone program, nor it is a Python package that you can just drop on your Python path to start using it. Therefore, if you would like to exploit igraph ‘s functionality in Python, you must install a few packages. Do not worry, though, there are precompiled packages for the major operating systems, so you will not have to compile igraph from source unless you use an esoteric operating system or you have specific requirements (i.e., adding a custom patch to igraph ‘s C core). Precompiled packages are often called binary packages , while the raw source code is usually referred to as the source package .
In general, you should almost always opt for the binary package unless a binary package is not available for your platform or you have some local modifications that you want to incorporate into igraph ‘s source.
在此之前,先要安装Python的合适版本,因为某些版本没有对应的igraph和cairo(我用python-2.5.2.msi)
There is a Windows installer for igraph ‘s Python interface on the Python Package Index . Download the one that is suitable for your Python version (currently there are binary packages for Python 2.4 and Python 2.5, though it might change in the future)(我用的是python-igraph-0.5.1.win32-py2.5.exe) . To test the installed package, launch your favourite Python IDE and type the following:
>>> import igraph.test
>>> igraph.test.test()
The above commands run the bundled test cases to ensure that everything is fine with your igraph installation.
Graph plotting in igraph is implemented using a third-party package called Cairo . If you want to create publication-quality plots in igraph on Windows, you must also install Cairo and its Python bindings. The Cairo project does not provide pre-compiled binaries for Windows, but other projects depending on Cairo do, so the preferred way to install Cairo on Windows along with its Python bindings is as follows:
Having done that, you can launch Python again and check if it worked:
>>> from igraph import *
>>> g = Graph.Famous("petersen")
>>> plot(g)
---------------------------------------------------------------------------------------------------------------------------------
注意:在运行时,我遇到了如下错误,最后发现时没有将cairo的dll加入环境变量path
下面是解决这个问题时参考的文档:
Hi, I have just installed igraph and I am having a problem with plotting. I have followed the instructions on the documentation site http://www.cs.rhul.ac.uk/home/tamas/development/igraph/tutorial/install.html#graph-plotting-in-igraph-on-windows which includes installing pycairo, and putting the required dll files into Python2.6\Lib\site-packages\cairo igraph itself has installed properly, as running >>> import igraph.test >>> igraph.test.test() gives no errors, and all tests work. However, when I try to run from igraph import * g = Graph.Famous("petersen") summary(g) plot(g) I get the following error: Traceback (most recent call last): File "C:\Documents and Settings\fulford\Desktop\netstuff\test1.py", line 4, inplot(g) File "C:\Python26\lib\site-packages\igraph\drawing.py", line 762, in plot result = Plot(target, bbox) File "C:\Python26\lib\site-packages\igraph\drawing.py", line 222, in __init__ self._surface_was_created=not isinstance(target, cairo.Surface) File "C:\Python26\lib\site-packages\igraph\drawing.py", line 51, in __getattr__ raise TypeError, "plotting not available" TypeError: plotting not available I also tried the following: import cairo but got the error: Traceback (most recent call last): File " ", line 1, in import cairo File "C:\Python26\lib\site-packages\cairo\__init__.py", line 1, in from _cairo import * ImportError: DLL load failed: The specified module could not be found. I am fairly new to python, so am wondering if there is something else I needed to do, like add something to my path variable so that the dll files are found? Any help or suggestions anyone can give me would be much appreciated, sicve I would very much like to use this software. . Thanks Glenn. PS platform details: Platform: Windows XP Python version 2.6 (32 bitr) (enthought python distribution 6.2) Dr Glenn Fulford +61 7 313 85196 QUT Mathematical Sciences, GPO Box 2343 Brisbane, Qld AUSTRALIA 4001. Cricos no. 00213J email: address@hidden; ------------------------------------------------------------------------------------- Dear Glenn, It seems like the Python bindings of Cairo are not installed properly on your machine -- igraph simply reports this when it says "plotting not available". I checked a working installation on Windows XP (32-bit) and the following files should be present in c:\python26\lib\site-packages\cairo: __init__.py _cairo.pyd libcairo-2.dll libexpat-1.dll libfontconfig-1.dll libpng14-14.dll zlib1.dll The error message you see means that Python finds __init__.py in the cairo subfolder successfully, and it tries to import _cairo.pyd from there. (.pyd files are like ordinary .dll files, Python just uses a different extension to distinguish them from .dlls). Unfortunately the import can fail for at least two reasons: 1) _cairo.pyd itself is missing 2) _cairo.pyd is there, but one of its dependencies is missing. Unfortunately, the error message is the same in both cases. So, I'd do the following: 1. Check whether all the files I mentioned above are in the site-packages\cairo folder. If not, install them. 2. If they are all there, download Dependency Walker from www.dependencywalker.com and open _cairo.pyd with it. Dependency Walker should recursively traverse the dependency tree of _cairo.pyd and report any other DLLs that you are missing. -- Tamas ------------------------------------------------------------------------------------- Dear Tamas, thanks very much for your suggestions. I beleive I eventiually tracked down the problem. I found the following web page very useful. http://alex.matan.ca/install-cairo-wxpyton-pycairo-python-windows First thing it told me was to append c:\Python26\Lib\site-packages\cairo to my path, which I hadn't done, but this didn't fix the problem. I then reinstalled the dll files, this time from the wxpythion site. Thiat seemed to fix the problem. So not surre exactly which dll it was, but I can compare themn if anyone is interested. Glenn
二、iGraph使用
参考这里 http://www.cs.rhul.ac.uk/home/tamas/development/igraph/tutorial/tutorial.html