Updating AiiDA¶
Before you update your AiiDA installation, first make sure that you do the following:
- Stop your daemon by executing
verdi daemon stop
- Create a backup of your database(s) by following the guidelines in the backup section
- Create a backup of the
~/.aiida
folder (where configuration files are stored)
If you have installed AiiDA manually from a local clone of the aiida_core
repository, skip to the instructions for developers.
Otherwise, if you have installed AiiDA through pip
, you can also update your installation through pip
.
If you installed aiida_core
in a virtual environment make sure to load it first.
Now you are ready to update your AiiDA installation through pip
:
pip install --upgrade aiida_core
After upgrading your AiiDA installation you may have to perform version specific migrations. When all necessary migrations are completed, finalize the update by executing:
verdi setup
This updates your daemon profile and related files. It should not be done when another version of aiida is wished to be used productively on the same machine/user.
Updating AiiDA for developers¶
Each version increase may come with its own necessary migrations and you should only ever update the version by one at a time.
Therefore, first make sure you know the version number of the current installed version by using verdi shell
and typing:
import aiida
aiida.__version__
After you have performed all the steps in the checklist described in the previous section and determined the current installed version, go to your local clone of the aiida_core
repository and checkout the desired branch or tag.
If you installed aiida_core
in a virtual environment make sure that you have loaded it.
Now you can install the updated version of aiida_core
by simply executing:
pip install -e .
After upgrading your AiiDA installation you may have to perform version specific migrations based on the version of your previous installation. When all necessary migrations are completed, finalize the update by executing:
verdi setup
This updates your daemon profile and related files.
Note
A few general remarks:
- If you want to update the code in the same folder, but modified some files locally,
you can stash them (
git stash
) before cloning or pulling the new code. Then put them back withgit stash pop
(note that conflicts might appear). - If you encounter any problems and/or inconsistencies, delete any
.pyc
files that may have remained from the previous version. E.g. If you are in your AiiDA folder you can typefind . -name "*.pyc" -type f -delete
.
Note
Since AiiDA 0.9.0
, we use Alembic for the database migrations of the
SQLAlchemy backend. In case you were using SQLAlchemy before the introduction
of Alembic, you may experience problems during your first migration. If it is
the case, please have a look at the following section Debugging Alembic
Version migration instructions¶
Updating from 0.11.* to 0.12.0¶
No particular changes have been introduced in v0.12.0
that require specific migration operations.
Updating from older versions¶
To find the update instructions for older versions of AiiDA follow the following links to the documentation of the corresponding version: