NetworkX @ Mac笔记(1)安装
(2013-02-06 00:13:42)
标签:
pythonnetworkx复杂网络snapmac |
分类: 爱学习 |
最近工作要用到复杂网络分析。本来想用Stanford的SNAP的,基本都安装好了之后还是觉得C++编程麻烦,另外看有人说SNAP的函数不好找,最重要的是周围找不大到人用这个,用NetworkX的倒是还能找得到些资料。所以就打算试试。
不过SNAP适合分析大型网络(上亿个点和边),以后有机会还是值得研究下。
国内学者中闫老师的blog里面对此有专门的笔记,写得很细致,值得参照:http://blog.sciencenet.cn/home.php?mod=space&uid=404069&do=blog&id=337442
不过我因为用Mac,略有些不同。所以也打算记录下自己的学习过程,以供回顾和参考。
借用闫老师的说明:“NetworkX是一个用Python语言开发的图论与复杂网络建模工具,内置了常用的图与复杂网络分析算法,可以方便的进行复杂网络数据分析、仿真建模等工作。”
所以第一步该是安装Python。
我用的是Mac OSX 10.8.2,也就是Mountain
Lion,内置有Python,不过貌似之前我自己打算学Python的时候又装了个2.7.2的版本。这个安装过程随便Google一下到处都有,不赘述。
第二步,下载安装文件。
NetworkX:http://pypi.python.org/pypi/networkx/
我下的版本是networkx-1.7-py2.7.egg,还有支持Python
3.2版本的。
Networkx的制图功能还要matplotlib和numpy支持,可以单独下也可以下载一个合集。我因为用的ML,Python
2.7,单独的numpy只有2.6版本的,所以我就只能装SciPy Superpack。
下载地址:http://fonnesbeck.github.com/ScipySuperpack/
根据官网说明:This shell script will install recent 64-bit builds of
Numpy (1.8) and Scipy (0.12), Matplotlib (1.3),
iPython (0.14), Pandas (0.10), Statsmodels (0.5.0), Scikit-Learn
0.14, as well as PyMC (2.2) for OS X 10.8 (Mountain Lion) on Intel
Macintosh. These packages were compiled on OS X 10.8.2 using
Apple’s Python 2.7.2, gFortran 4.2.4 and GCC 4.2.1.
装这个貌似需要Xcode或GCC,而我之前为了装SNAP的绘图插件已经单独装过GCC。所以这步也省略了。需要的人可以直接下载安装Xcode(Appstore就有,free但是体积庞大),或者网上Google搜索如何直接安装GCC。
可以参照该博文:http://www.memoryz.info/install-gcc-on-mac.html
到这里下载的GCC新版:https://github.com/kennethreitz/osx-gcc-installer
有pkg文件可直接安装,省事~~~
下载一个Script:Scipy
Superpack Installer for OSX
10.8文件(见上文主页链接),名字应该是install_superpack.sh。然后打开终端,在对应文件夹下输入:sh
install_superpack.sh
则Scipy Superpack会自动联网安装。
3、安装easy_install
因为NetworkX是egg文件,所以用easy_install会比较方便。
os
x默认有一个easy_install工具,但它的package安装路径是指向原来的python版本的。我的Mac上有4个版本的Python,所以我还是重新安装easy_install工具(setuptools)。
下载setuptools的源码(http://pypi.python.org/pypi/setuptools),在个人目录中新建.pydistutils.cfg文件,即终端下输入:vim
~/.pydistutils.cfg
添加如下内容:
[install]
install_lib = /Library/Python/2.7/site-packages
install_scripts = /usr/bin
注意OSX版本不通貌似路径名也略有不同,反正我之前网上搜到的路径就跟我的不一样,建议自己查查。
ESC退出vim编辑,:wq储存并退出。
继续输入:sh setuptools-0.6c11-py2.7.egg
如果有权限问题,建议su到root权限再执行。我的运气比较背,su出来输入密码怎么都不对,只好网上找了个办法是输入sudo
su,然后再输入密码就可以了。不过用户名显示不是root,而是sh-3.2,具有root权限。反正不管如何,有权限安装了就行~~~
4、安装NetworkX。
同样在root权限下,egg文件所在目录,执行easy_install
networkx-1.7-py2.7.egg。
安装完成后,在terminal中先进入Python命令行界面,再输入:
import networkx as nx
print nx
如果能输出:<module 'networkx' from
'/Library/Python/2.7/site-packages/networkx-1.7-py2.7.egg/networkx/__init__.pyc'>
说明Networkx已经安装好了,可以正常调用。
其他参考资料(来自网络):
Python精要参考(第二版)——iask上有,100多页,几天学会Python基本编程
Numpy 1.5 Beginner's guide——iask上有,200多页,看前三章一般就够了,推荐!
用python做科学计算——在线版:http://hyry.dip.jp:8000/pydoc/index.html,iask也有,可以看看里边的numpy和matplotlib部分。
前一篇:有惊无险NY考驾照
后一篇:SNAP @ Mac OSX安装

加载中…