Python和Networkx安装总结

来源:互联网 发布:白板品牌排行 知乎 编辑:程序博客网 时间:2024/05/22 11:38

最近要做社交网络分析相关的研究,读到《社会网络分析-方法与实践》时,需要学习Python,在网上找了一些贴子,试验了半个下午终于安装好了,

网上的帖子介绍不太全面,查阅许多贴子后,这两篇帖子贡献最大

安装方法参考博客:http://blog.csdn.NET/moodytong/article/details/7491520

        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的文章:

  http://www.cnblogs.com/qianlifeng/archive/2012/02/13/2350086.html

  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()

 

绘图窗口如下图所示:



转摘自:http://blog.csdn.net/u011108519/article/details/39480891




一、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画出网络图实例



0 0
原创粉丝点击