安装

NetworkX需要Python3.6、3.7或3.8。如果您的计算机上尚未配置python环境,请参阅安装完整python环境的说明 scientific Python stack .

注解

如果您在Windows上并且希望安装可选软件包(例如, scipy), then you will need to install a Python distribution such as AnacondaEnthought CanopyPython(x,y)WinPythonPyzo . 如果您使用这些python发行版之一,请参考它们的联机文档。

下面我们假设您的计算机上已经配置了默认的python环境,并且您打算安装 networkx 里面。如果要创建和使用python虚拟环境,请按照 venvvirtual environments .

首先,确保您有最新版本的 pip (python包管理器)已安装。如果没有,请参阅 Pip documentation 安装 pip 第一。

安装发布版本

安装当前版本的 networkx 具有 pip ::

$ pip install networkx

要升级到较新版本,请使用 --upgrade 旗帜:

$ pip install --upgrade networkx

如果您没有在系统范围内安装软件的权限,可以使用 --user 旗帜:

$ pip install --user networkx

或者,您可以手动下载 networkxGitHubPyPI . 要安装这些版本之一,请将其解包,然后使用终端从顶级源目录运行以下内容:

$ pip install .

安装开发版本

如果你有 Git 安装在系统上,也可以安装的开发版本 networkx .

在安装开发版本之前,可能需要卸载的标准版本 networkx 使用 pip ::

$ pip uninstall networkx

然后做::

$ git clone https://github.com/networkx/networkx.git
$ cd networkx
$ pip install -e .

这个 pip install -e . 命令允许您通过在正确的位置创建链接并将命令行脚本安装到适当的位置来跟踪开发分支的变化。

那么,如果你想更新 networkx 在同一个目录中,随时执行:

$ git pull

可选程序包

注解

一些可选包(例如, scipy, gdal) may require compiling C or C++ code. If you have difficulty installing these packages with pip, please review the instructions for installing the full scientific Python stack .

以下可选软件包提供了附加功能。

  • NumPy (>=1.15.4)提供了图的矩阵表示,并在一些用于高性能矩阵计算的图算法中使用。

  • SciPy (>=1.1.0)提供图形和许多数值科学工具的稀疏矩阵表示。

  • pandas (>=0.23.3)提供了一个数据帧,它是一个带有标记轴的表格数据结构。

  • Matplotlib (>=3.0.2)提供灵活的图形绘制。

  • PyGraphviz (>1.5) pydot (>=1.2.4)通过 GraphViz .

  • PyYAML 提供yaml格式的读写。

  • gdal 提供形状文件格式的读写。

  • lxml 用于图形XML格式。

安装 networkx 以及所有可选软件包,请执行:

$ pip install networkx[all]

要显式安装所有可选软件包,请执行:

$ pip install numpy scipy pandas matplotlib pygraphviz pydot pyyaml gdal

或者,安装任何可选软件包(例如, numpy )单独:

$ pip install numpy

测试

networkx使用python pytest 测试包。你可以在他们的 homepage .

测试源分发

您可以使用以下命令从解包的源目录测试整个包:

pytest networkx

测试已安装的包

在shell命令提示符下,可以使用以下命令测试已安装的包:

pytest --pyargs networkx

如果您有一个基于文件的(而不是python egg)安装,您可以使用以下方法测试安装的包:

>>> import networkx as nx
>>> nx.test()

或:

python -c "import networkx as nx; nx.test()"
test(verbosity=1, doctest=False)

运行NetworkX测试。

参数
  • 冗长整数,可选 )--测试报告中的详细级别。数字越大,细节越详细。

  • 博士学位可选的布尔 )--在代码模块中运行doctests为true