主要参考资料: (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.
Installation from a binary package
在此之前,先要安装Python的合适版本,因为某些版本没有对应的igraph和cairo(我用python-2.5.2.msi)
igraph
on Windows:igraph被安装到C:\Python25\Lib\site-packages\igraph中
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
on Windows:cairo和dll被安装到C:\Python25\Lib\site-packages\cairo中
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:
- Get the latest PyCairo for Windows installer from
http://ftp.gnome.org/pub/gnome/binaries/win32/pycairo/1.8
. Make sure you
grab the one that matches your Python version. At the time of writing,
the above folder contained installers for Python 2.6 only. You may
also try and go one level up, then down then 1.4 subfolder – these are
older versions, but they work with Python 2.5 and Python 2.6 as well.
-
Install PyCairo using the installer
.(我用的是pycairo-1.4.12-2.win32-py2.5.exe)
The installer extracts the necessary
files into Lib\site-packages\cairo
within the folder where Python is
installed. Unfortunately there are some extra DLLs which are required to
make Cairo work, so we have to get these as well.
- Head to http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/
and get
the binary versions of Cairo (cairo_1.8.10-3_win32.zip
at the time of
writing), Fontconfig (fontconfig_2.8.0-2_win32.zip
), Freetype
(freetype_2.4.4-1_win32.zip
), Expat (expat_2.0.1-1_win32.zip
),
libpng
(libpng_1.4.3-1_win32.zip
) and zlib
(zlib_1.2.5-2_win32.zip
). Version numbers may vary, so be
adaptive! Each ZIP file will contain a bin
subfolder with a DLL file in
it. Put the following DLLs in Lib\site-packages\cairo
within your Python
installation:
-
freetype6.dll
(from freetype_2.4.4-1_win32.zip
)
-
libcairo-2.dll
(from cairo_1.8.10-3_win32.zip
)
-
libexpat-1.dll
(from expat_2.0.1-1_win32.zip
)
-
libfontconfig-1.dll
(from fontconfig_2.8.0-2_win32.zip
)
-
libpng14-14.dll
(from libpng_1.4.3-1_win32.zip
)
-
zlib1.dll
(from zlib_1.2.5-2_win32.zip
).
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,
in <module>
plot(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 "<pyshell#2>", line 1, in <module>
import cairo
File "C:\Python26\lib\site-packages\cairo\__init__.py", line 1, in <module>
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
分享到:
相关推荐
本文将详细介绍如何在Windows环境下搭建Appium + Python的自动化测试环境,包括必要的软件安装与环境变量配置。 #### 二、准备工作 在开始之前,请确保您的电脑满足以下条件: - 已安装JDK 1.7或更高版本。 - 所有...
中兴 TelnetONU1.5 版本(Windows+Python 双版本,内含教程)是一款强大的工具,它专门为中兴光猫用户设计,旨在开启 telnet 功能,修改超级密码,并修改设备的 SN。 这个版本的独特之处在于它同时提供了 Windows ...
本文将深入探讨五种常见的网络拓扑结构——总线型、星型、网状、树型和环型,并介绍如何利用MATLAB和Python这两种编程语言来生成这些拓扑结构。 1. **总线型网络拓扑**:在这种结构中,所有设备共享一个主传输线,...
Python是一种高级编程语言,由于其简洁的语法和强大的库支持,它在数据分析、机器学习、网络开发等领域获得了广泛应用。Python特别适合进行快速开发和原型制作,而且在教育和研究领域也有着广泛的应用。 将OpenCV与...
在这个例子中,我们将探讨如何在Windows操作系统上,利用Python 3.5.2、TensorFlow和Keras库来构建一个验证码识别系统。 首先,我们需要理解验证码的基本概念。验证码(CAPTCHA)是“Completely Automated Public ...
综上所述,该文档提供的内容不仅包括了深度学习和Python的结合这一知识点,还涉及到了书籍出版相关的法律声明和出版信息等,反映了作为一本专业书籍在编写、编辑、出版和分销过程中所涉及的诸多细节。这些知识点对于...
下载标题即为文章名, 如果没有下载机会可以去gitcode上免费克隆 html+css+js+python(QtWebEngineWidgets) 实现微信聊天界面-包括时间,文件,纯文本等 ...python负责网络通信和API(html没有python照样可以)
WebStorm/VsCode + Pycharm 数据库mysql 开发技术Springboot + Vue + Python 这个是一个水质管理和预报系统,它是一个全栈Web应用程序,使用机器学习和深度神经网络算法来预测未来的水质。系统一共有2个身份包括管理...
基于Springboot+Vue+Python深度神经网络学习算法水质管理预测系统毕业设计.zip是个人毕设项目源码,评审分达到97分,都经过严格调试,确保可以运行!放心下载使用。该项目资源主要针对计算机相关专业的学生或从业者...
本系统采用Python3作为后端开发语言,Vue.js作为前端框架,Element-UI作为界面组件库,构建了一个高效、易用的资产管理系统。 **Python3**: Python3是Python编程语言的最新版本,以其简洁明了的语法和强大的标准库...
管理员登录后可以查询最新水质检测数据,也可以上报新的水质数据,可以查询管理历史水质数据,查询历史水质趋势图,训练自己的模型参数,选择一个算法模型结果预测下个月的水质信息,管理所有的用户信息;...
vue3 【海洋生物识别系统】计算机课设+人工智能+网站界面+卷积神经网络算法+Python+TensorFl_sea_animate_check.zip
程序开发软件:Eclipse/Idea + WebStorm/VsCode + Pycharm 数据库:mysql 开发技术:Springboot + Vue + Python 这个是一个水质管理和预报系统,它是一个全栈Web应用程序,使用机器学习和深度神经网络算法来预测未来...
:程序开发软件:Eclipse/Idea + WebStorm/VsCode + Pycharm 数据库:mysql 开发技术:Springboot + Vue + Python 这个是一个水质管理和预报系统,它是一个全栈Web应用程序,使用机器学习和深度神经网络算法来预测...
Python中,可以使用networkx库来构建总线型网络,定义一个中心线并连接多个节点。 2. **星型拓扑结构**: 星型网络是每个设备都直接与中央节点(通常是交换机或路由器)相连的形式。在MATLAB中,可使用plot函数...
基于Python入侵检测IDS系统1.5 框架 html + css + jquery + python 3.9 + Django + scapy + webshell(加密流木马) + 蚁剑流量识别 抓包工具 winshark,etherDetect,sniffer python manage.py runserver 0.0.0.0:8000 ...