Requirements ------------- To use NetworkX you need Python version 2.3 or later http://www.python.org/ See below for tips on installing Python. Installing Pre-built NetworkX packages -------------------------------------- The following pre-built NetworkX packages are available: Windows ~~~~~~~ Download and run the latest version of the Windows installer (.exe extension). OSX 10.5 ~~~~~~~~ Download and install the latest mpkg. Linux ~~~~~ Debian packages are available at http://packages.debian.org/unstable/graphics/python-networkx Python Eggs for All Platforms ----------------------------- Python eggs are prepackaged distributions that can be automatically installed using EasyInstall http://peak.telecommunity.com/DevCenter/EasyInstall Run :: easy_install networkx and an attempt will be made to find and install an appropriate version that matches your operating system and Python version. Installing from Source ---------------------- You can install from source by downloading a source archive file (tar.gz or zip) or by checking out the files from the Subversion repository. NetworkX is a pure Python package (you don't need a compiler to build or install it). Source Archive File ~~~~~~~~~~~~~~~~~~~ - Download the source (tar.gz or zip file). - Unpack and change directory to networkx-x.xx where x.xx is the version number - Run "python setup.py install" to build and install - (optional) cd networkx/tests and run "python setup_egg.py test" to execute the tests SVN Repository ~~~~~~~~~~~~~~ Make sure you have Subversion installed (SVN) - Check out the networkx trunk: svn co https://networkx.lanl.gov/svn/networkx/trunk networkx - Run "python setup.py install" to build and install - (optional) run "python setup_egg.py test" to execute the tests Optional packages ----------------- NetworkX will work without the following optional packages. But to enable all functionality you will need the following: - To enable drawing networks with matplotlib you need - numpy http://numpy.scipy.org/ - Matplotlib http://matplotlib.sourceforge.net/ - To enable graphviz layout and drawing features you need - pygraphviz http://networkx.lanl.gov/pygraphviz/ - Graphviz http://graphviz.org/ Installing Optional Packages ---------------------------- For Windows and OSX (non-fink, non-MacPorts) the easiest way to get Matplotlib/Numpy/Scipy installed is to follow the directions for installing pre-built Scipy binary packages at http://scipy.org/Download For Linux systems try installing binary packages through your package management system. Matplotlib ~~~~~~~~~~ NetworkX uses Matplotlib for drawing graphs. For installation see the instructions at - http://matplotlib.sourceforge.net/installing.html Matplotlib uses numpy for numerical array computing (see above comment on how to install Matplotlib/Numpy/Scipy all together). Additional useful packages ~~~~~~~~~~~~~~~~~~~~~~~~~~ These are extra packages you may consider to use with NetworkX - IPython, interactive Python shell, http://ipython.scipy.org/ - SciPy, scientific computing package, http://scipy.org/ - sAsync, persistent storage with SQL, http://foss.eepatents.com/sAsync - PyYAML, structured output format, http://pyyaml.org/ Installing Python ----------------- If you don't have Python installed on your system: Windows ~~~~~~~ The easiest way to get Python and most optional packages is to install the Enthought Python distribution: http://code.enthought.com/enthon/ Other options are - Download from the official Python site at http://www.python.org/download/ - ActiveState also distributes a binary version http://activestate.com/Products/ActivePython/?mp=1 OSX ~~~ OSX 10.5 ships with Python version 2.5. If you have an older version we encourage you to download a newer release. Pre-built Python packages are available from - Pythonmac http://www.pythonmac.org/packages/ Other options are: - ActiveState http://activestate.com/Products/ActivePython/?mp=1 - Download from the official Python site at http://www.python.org/download/ If you are using Fink or MacPorts, Python is available through both of those package systems.