Installation Reference ====================== .. _base-requirements: Linux/Mac Software Dependencies --------------------------------- * ``nucypher`` supports Python 3.7 and 3.8. If you don’t already have it, install `Python `_. * Before installing ``nucypher``, you may need to install necessary developer tools and headers: .. code:: - libffi-dev - python3-dev - python3-pip - python3-virtualenv - build-essential - libssl-dev Pip Installation and Update ---------------------------- 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: https://virtualenv.pypa.io/en/latest/: #. Create a Virtual Environment .. code-block:: bash $ python -m venv /your/path/nucypher-venv ... Activate the newly created virtual environment: .. code-block:: bash $ source /your/path/nucypher-venv/bin/activate ... $(nucypher-venv) .. note:: Successful virtualenv activation is indicated by ``(nucypher-venv)$`` prepended to your console's prompt #. Install/Update Application Code with Pip .. code-block:: bash (nucypher-venv) pip3 install -U nucypher #. Verify Installation Before continuing, verify that your ``nucypher`` installation and entry points are functional. Activate your virtual environment: .. code-block:: bash user@ubuntu$ source /your/path/nucypher-venv/bin/activate Next, verify ``nucypher`` is importable. No response is successful, silence is golden: .. code-block:: python python -c "import nucypher" Then, run the ``nucypher --help`` command: .. code-block:: bash (nucypher) user@ubuntu$ nucypher --help ... If successful you will see a list of possible usage options (\ ``--version``\ , ``-v``\ , ``--dev``\ , etc.) and commands (\ ``status``\ , ``ursula``\ , etc.). For example, you can use ``nucypher ursula init`` to initialize a new worker node. Docker Installation and Update ------------------------------ #. Install `Docker `_ #. (Optional) Follow these post install instructions: `https://docs.docker.com/install/linux/linux-postinstall/ `_ #. Get the latest nucypher image: .. code:: bash docker pull nucypher/nucypher:latest