最近要做社交网络分析相关的研究,读到《社会网络分析-方法与实践》时,需要学习Python,在网上找了一些贴子,试验了半个下午终于安装好了,
网上的帖子介绍不太全面,查阅许多贴子后,这两篇帖子贡献最大
安装方法参考博客:http://blog.sina.com.cn/s/blog_6fb8aa0d0101qtt9.html
下面是我综合上面两篇贴子后安装成功的例子:
文件下载路径:
1. python下载路径https://www.python.org/downloads/windows/
2. 安装setuptools,需要用ez_setup.py来安装,下载地址:
http://peak.telecommunity.com/dist/ez_setup.py
3. 社交网络分析工具:
networkx-1.8.1-py2.7.egg的下载路径https://pypi.python.org/pypi/networkx/1.8.1
4. Networkx的制图功能,还要去下载matpotlib和NumPy
matpotlib是绘图界面库,下载地址:http://www.lfd.uci.edu/~gohlke/pythonlibs/#matplotlib
介绍matpotlib的文章:
NumPy是矩阵运行库,下载地址:http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy
NumPy系统是Python的一种开源的数字扩展。这种工具可用来存储和处理大型矩阵,比 Python自身的嵌套列表(nestedlist structure)结构要高效的多(该结构也可以用来表示矩阵(matrix))。据说NumPy将Python相当于变成一种免费的更强大的MatLab系统。[1]
一个用python实现的科学计算包。包括:a、一个强大的N维数组对象Array;b、比较成熟的(广播)函数库;c、用于整合C/C++和 Fortran代码的工具包;d、实用的线性代数、傅里叶变换和随机数生成函数。numpy和稀疏矩阵运算包scipy配合使用更加方便。
NumPy(Numeric Python)提供了许多高级的数值编程工具,如:矩阵数据类型、矢量处理,以及精密的运算库。专为进行严格的数字处理而产生。多为很多大型金融公司使用,以及核心的科学计算组织如:Lawrence Livermore,NASA用其处理一些本来使用C++,Fortran或Matlab等所做的任务。
安装说明:Python、Matpotlib、NumPy版本一致,对应操作系统的位宽一致,我的电脑是win7 64位。我选择的Python: Python 2.7.8 -2014-07-2 Download Windowsx86-64 MSI installer
Matpotlib为basemap‑1.0.8dev.win‑amd64‑py2.7.exe
NumPy为matplotlib‑1.4.0.win‑amd64‑py2.7.exe
安装步骤:
1. 一键默认安装python 2.7.8
2. 下载安装setuptools,下载ez_setup.py保存为该文件名,然后在对应路径下输入C:/Pytohn27/python.exe C:/Python27/ez_setup.py.txt,出现如下图所示的结果即安装成功。(下图是我在安装Python26时保存的图,安装Python27过程一样)
3. 安装网络分析工具networkx-1.8.1-py2.7.egg,需要用easy_install.exe工具来安装,装networkx-1.8.1-py2.7.egg拷贝到C:/Python27目录下,然后输入命令:C:/Python27/scripts/easy_install.exeC:/Python27/networkx-1.8.1-py2.7.egg,出现如下图所示结果即安装成功。(下图是我在安装Python2.6对应的networkx时的结果)
4. 验证是否安装成功,输入在python.exe的命令行下,输入importnetworks as nx和print nx,出现如下图所示结果即安装成功。
5. 一键安装绘图工具:Matpotlib为basemap‑1.0.8dev.win‑amd64‑py2.7.exe
6. 一键安装NumPy为matplotlib‑1.4.0.win‑amd64‑py2.7.exe
至此,似乎安装完成,但是运行import matplotlib.pyplot as plt时一直出现如下错误:
>>> import matplotlib.pyplot asplt
Traceback (most recent call last):
File "<pyshell#1>", line 1, in <module>
import matplotlib.pyplot as plt
File "C:\Python27\lib\site-packages\matplotlib\__init__.py",line 105, in <module>
import six
ImportError: No module named six
由于缺少scipy,下载地址:http://www.lfd.uci.edu/~gohlke/pythonlibs/#pyparsing
再运行import matplotlib.pyplot as plt出现如下错误:
>>> import matplotlib
Traceback (most recent call last):
File "<pyshell#3>", line 1, in <module>
import matplotlib
File"C:\Python27\lib\site-packages\matplotlib\__init__.py", line 115, in<module>
raise ImportError("matplotlib requires dateutil")
ImportError: matplotlib requires dateutil
需要安装:dateutil,下载地址:http://www.lfd.uci.edu/~gohlke/pythonlibs/#pyparsing
再运行import matplotlib.pyplot as plt出现如下错误:
Traceback (most recent call last):
File "<pyshell#4>", line 1, in <module>
import matplotlib
File "C:\Python27\lib\site-packages\matplotlib\__init__.py",line 139, in <module>
raise ImportError("matplotlib requires pyparsing")
ImportError: matplotlib requires pyparsing
需要安装:pyparsing,下载地址同上
至此安装完成,可以建一个空白文件,输入如下命令,按F5,可以出现绘图窗口:
import networkx as nx
G=nx.Graph()
G=nx.Graph(name='my graph')
e=[(1,2),(1,3),(2,3),(3,4),(4,5)]
G=nx.Graph(e)
nx.degree(G)
nx.degree_histogram(G)
nx.density(G)
nx.degree_centrality(G)
nx.closeness_centrality(G)
nx.betweenness_centrality(G)
nx.triangles(G)
nx.transitivity(G)
nx.clustering(G)
import matplotlib.pyplot as plt
x=range(len(nx.degree_histogram(G)))
degree=nx.degree_histogram(G)
y=[z/float(sum(degree)) for z indegree]
plt.loglog(x,y,color="red",linewidth=4)
plt.show()
绘图窗口如下图所示:
转摘自:
一、Networkx简介
课题研究与复杂网络有关,而是用Python又非常方便,networkx便是做复杂网络研究的“利器”,那就从安装它开始吧!
Networkx是一个用Python语言开发的图论与复杂网络建模工具,这个工具可以用python实现有关复杂网络的创建、处理、组织研究、动力学、函数的软件包,使用它可以方便的建立网络模型。Networkx内置了常用的图与复杂网络的算法,可以方便的进行复杂网络数据分析、仿真建模等,可以实现可视化。
二、安装步骤
1. 安装Python2.7,点击安装,然后一直next就行了
2. 安装pywin32-214.win32-py2.7.exe
3. 安装numpy-1.6.1-win32-superpack-python2.7.exe
4. 安装matplotlib-1.1.0.win32-py2.7.exe
5. 安装setuptools-0.6c11.win32-py2.7.exe
6. 安装networkx-1.8.1-py2.7.egg,将这个文件夹放到Python27文件夹下的Scripts文件夹下。这个稍微麻烦一些,需要用easyinstall安装,具体安装方法如下:
(1) 启动DOS控制台(在“运行”里输入cmd)
(2) 输入“CD\”进入到C盘(我是将Python2.7安装到了C盘),如图所示:
如果Python是安装到了其他盘,可以直接输入“D:”或者“F:”进入其他盘,如图所示:
(3) 进入到Python27文件夹下的Scripts文件夹下,执行easy_install.exe networkx-1.8.1-py2.7.egg就可以啦,如图所示
成功安装!
(4) 启动“程序---Python2.7---PythonWin”,输入
import networkx as nx
print nx
如果有如图所示,说明可以正常使用:
三、用Networkx画出网络图实例