设为首页 收藏本站
查看: 617|回复: 0

[经验分享] 作网络图(一、Windows+Python+iGraph)

[复制链接]

尚未签到

发表于 2017-4-29 12:00:11 | 显示全部楼层 |阅读模式
  主要参考资料: (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

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-370757-1-1.html 上篇帖子: Python学习(一):求质数 下篇帖子: 整数除法 (integer division in Python and Ruby)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表