Installation Reference

nucypher can be run either from a docker container or via local installation. Running nucypher via a docker container simplifies the installation process and negates the need for a local installation.

Docker Installation and Update

  1. Install Docker

  2. Optional Depending on the setup you want, post install instructions, additional docker configuration is available here.

  3. Get the latest nucypher image:

docker pull nucypher/nucypher:latest

Local Installation

nucypher supports Python 3.7 and 3.8. If you don’t already have it, install Python.

In order to isolate global system dependencies from nucypher-specific dependencies, we highly recommend using python-virtualenv to install nucypher inside a dedicated virtual environment.

For full documentation on virtualenv see:

  1. Create a Virtual Environment

    Create a virtual environment in a folder somewhere on your machine.This virtual environment is a self-contained directory tree that will contain a python installation for a particular version of Python, and various installed packages needed to run the node.

    $ python -m venv /your/path/nucypher-venv
  2. Activate the newly created virtual environment:

    $ source /your/path/nucypher-venv/bin/activate

    A successfully activated virtual environment is indicated by (nucypher-venv)$ prepended to your console’s prompt


    From now on, if you need to execute any nucypher commands you should do so within the activated virtual environment.

  3. Install/Update the nucypher package

    (nucypher-venv)$ pip3 install -U nucypher
  4. Verify Installation

    Before continuing, verify that your nucypher installation and entry points are functional.

    Activate your virtual environment, if not activated already:

    $ source /your/path/nucypher-venv/bin/activate

    Next, verify nucypher is importable. No response is successful, silence is golden:

    (nucypher-venv)$ python -c "import nucypher"

    Then, run the nucypher --help command:

    (nucypher-venv)$ nucypher --help

    If successful you will see a list of possible usage options (--version, --config-path, --logging-path, etc.) and commands (status, ursula, etc.).