There are two ways to install XCP-D:
using Container Technologies (RECOMMENDED)
within a Manually Prepared Environment (Python 3.8+), also known as bare-metal installation
XCP-D is ideally run via a Docker or Singularity container. If you are running XCP-D locally, we suggest Docker. However, for security reasons, many HPCs do not allow Docker containers, but do allow Singularity containers. The improved security for multi-tenant systems comes at the price of some limitations and extra steps necessary for execution.
For every new version of xcp_d that is released, a corresponding Docker image is generated.
In order to run xcp_d via Docker images, the Docker Engine must be installed.
If you have used xcp_d via Docker in the past, you might need to pull down a more recent version of the image:
$ docker pull pennlinc/xcp_d:<latest-version>
The image can also be found here: https://registry.hub.docker.com/r/pennlinc/xcp_d
xcp_d can be run interacting directly with the Docker Engine via the docker run command, or through a lightweight wrapper that was created for convenience.
Singularity version >= 2.5: If the version of Singularity installed on your HPC system is modern enough, you can create a Singularity image directly on the system using the following command:
$ singularity build xcp_d-<version>.simg docker://pennlinc/xcp_d:<version>
<version> should be replaced with the desired version of xcp-d that you want to download.
Manually Prepared Environment (Python 3.8+)
xcp_d requires some External Dependencies. These tools must be installed and their binaries available in the system’s
On a functional Python 3.8 (or above) environment with
xcp_d can be installed using the habitual command
$ pip install git+https://github.com/pennlinc/xcp_d.git
Check your installation with the
$ xcp_d --version
XCP-D is written using Python 3.8 (or above), is based on
nipype, and requires some other neuroimaging software tools that are
not handled by the Python’s packaging system (Pypi) used to deploy