These installation instructions should work for most users, who do
not need custom configurations for their systems. If you want to
compile NEST from source, see section Advanced installation.
Ubuntu users can install NEST via the PPA repository.
Add the PPA repository for NEST and update apt:
sudo add-apt-repository ppa:nest-simulator/nest
sudo apt-get update
sudo apt-get install nest
Debian users can install NEST via the Ubuntu PPA repository.
Create a new
apt repository entry in
sudo apt install devscripts build-essential software-properties-common dpkg-dev
sudo add-apt-repository --enable-source ppa:nest-simulator/nest
Disable the binary package in the repository file created under
/etc/apt/sources.list.d/ by commenting
deb line, while keeping the
deb-src line. It should look similar to this:
#deb http://ppa.launchpad.net/nest-simulator/nest/ubuntu focal main
deb-src http://ppa.launchpad.net/nest-simulator/nest/ubuntu focal main
Import the PPA GPC key and rebuild the package:
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 \
sudo apt update
sudo apt source --build nest
Install any missing dependencies, if
apt tells you so.
In addition, install:
sudo apt install python3-all dh-python
After installing the dependencies, enter
sudo apt source --build nest again.
When the build finished, look for lines like
dpkg-deb: building package 'nest-dbgsym' in '../nest-dbgsym_2.20.0-0~202001311135~ubuntu20.04.1_amd64.deb'.
dpkg-deb: building package 'nest' in '../nest_2.20.0-0~202001311135~ubuntu20.04.1_amd64.deb'.
dpkg-genchanges --build=binary >../nest_2.20.0-0~202001311135~ubuntu20.04.1_amd64.changes
and note down the full package name. In the above example this would be
nest_2.20.0-0~202001311135~ubuntu20.04.1_amd64.deb, where the number 202001311135 and potentially the
Ubuntu version number may be different.
Install the ready Debian package after the rebuild:
sudo dpkg --install nest-simulator-x.y.z~NUMBER~ubuntu20.04.1_amd64.deb
The package name is taken from the result of the previous step. NUMBER and potentially the Ubuntu
version might differ.
Test the package:
The NeuroFedora team has generously provided the latest
versions of NEST on their platform. As that is available in the
standard Fedora platform repositories, it can simply be
sudo dnf install python3-nest
Find out more on the NeuroFedora site: https://docs.fedoraproject.org/en-US/neurofedora/nest/.
Create your conda environment and install NEST. We recommend
that you create a dedicated environment for NEST, which
should ensure there are no conflicts with previously
- We strongly recommend that you install all programs
you’ll need, (such as
the environment (ENVNAME) at the same time, by
appending them to the command below.
Installing packages later may override previously
installed dependencies and potentially break packages!
See managing environments in the Conda documentation
for more information.
conda create --name ENVNAME -c conda-forge nest-simulator
conda create --name ENVNAME -c conda-forge nest-simulator=*=mpi_openmpi*
The syntax for this install follows the pattern:
nest-simulator=<version>=<build_string>. Build strings can be
found by listing the available versions with
conda search -c conda-forge nest-simulator
or by browsing the conda forge file list (note
there are multiple pages). For example, to install one of the
2.20.x versions with MPI support by OpenMPI, you would use the
nest-simulator=2.20.*=*openmpi*. The Python
dependency is automatically resolved if you add to the above
command a version specifier for Python, for example
python=3.8. If the Python version and build identifier are left
conda will install the latest version compatible
with all requested packages.
Activate your environment:
In addition to native installations from ready-made packages, we
provide containerized versions of NEST in several formats:
Docker provides an isolated container to run applications. The
NEST Docker container includes a complete install of NEST and
is set up so you can create, modify, and run Juptyer Notebooks
and save them on your host machine. (See the Note below for
alternative ways to use the Docker container.)
If you do not have Docker installed, follow the Docker
installation instructions for your system here:
If you are using Linux, we strongly recommend you
also create a Docker group to manage Docker as a non-root
user. See instructions on the Docker website:
Create a directory or change into a directory that you want
to use for your Jupyter Notebooks.
Run the Docker container. Replace the
<version> with one
of the latest NEST versions (e.g.,
2.20.0) or use
latest for the most recent build from the source code.
docker run --rm -e LOCAL_USER_ID=`id -u $USER` -v $(pwd):/opt/data -p 8080:8080 nestsim/nest:<version> notebook
Once completed, a link to a Jupyter Notebook will be
generated, as shown below. You can then copy and paste the
link into your browser.
You can now use the Jupyter Notebook as you normally
would. Anything saved in the Notebook will be placed in the
directory you started the Notebook from.
You can shutdown the Notebook in the terminal by typing
Ctrl-c twice. Once the Notebook is shutdown the
container running NEST is removed.
You can check for updates to the Docker build by typing:
docker pull nestsim/nest:<version>
You can also create an instance of a terminal within the container itself and, for example, run Python scripts.
docker run --rm -it -e LOCAL_USER_ID=`id -u $USER` -v $(pwd):/opt/data -p 8080:8080 nestsim/nest:<version> /bin/bash
See the README to find out more, but note some functionality, such as DISPLAY, will not be available.
Once NEST is installed, you can run it in Python, IPython, or Jupyter Notebook
For example, in the terminal type:
Once in Python you can type:
or as a stand alone application:
If installation was successful, you should see the NEST splash screen in the terminal:
Installation is now complete!