... | ... | @@ -102,6 +102,22 @@ And following the same usage instructions as above. |
|
|
|
|
|
**WARNING:** The development version may contain bugs! Prefer the stable releases whenever possible.
|
|
|
|
|
|
# Installing using Apptainer/singularity (useful for HPC systems)
|
|
|
|
|
|
[Apptainer/singularity](https://apptainer.org/) is a platform for virtualization similar to docker, but is simpler to use and does not require administration privileges --- it can be run as regular user. One of the main uses of Apptainer/Singularity is to bring containers and reproducibility to scientific computing and the high-performance computing (HPC) environments. The idea is that you can setup your own up-to-date software stack in a container and use it to run jobs in your HPC cluster, which usually contains only outdated software, liberating you from depending on admins!
|
|
|
|
|
|
``graph-tool`` can also be used with singularity via its docker images, which can be easily converted to Apptainer/singularity images. This is done with:
|
|
|
```bash
|
|
|
singularity pull docker://tiagopeixoto/graph-tool
|
|
|
```
|
|
|
This will create an image file ``graph-tool_latest.sif``, which you then can use, e.g. with:
|
|
|
```
|
|
|
singularity exec graph-tool-git_latest.sif python3 -c "import graph_tool.all"
|
|
|
```
|
|
|
The development versions are available as well in the [graph-tool-git](https://hub.docker.com/r/tiagopeixoto/graph-tool-git) repository.
|
|
|
|
|
|
**IMPORTANT:** The docker images contain a version of the glibc library which is compatible with linux kernel versions as old as 4, but not older.
|
|
|
|
|
|
# Native installation
|
|
|
|
|
|
Python modules are usually very easy to install, typically requiring nothing more that `pip install <package>` for basically any operating system. For `graph-tool`, however, the situation is different. This is because, in reality, `graph-tool` is a C++ library wrapped in Python, and it has many C++ dependencies such as [Boost](http://www.boost.org/), [CGAL](http://www.cgal.org/) and [expat](http://expat.sourceforge.net/), which are not installable via Python-only package management systems such as [pip](http://www.pip-installer.org/). Because the module lives between the C++ and Python worlds, its installation is done more like a C++ library rather than a typical python module. This means it inherits some of the complexities common of the C++ world that some Python users do not expect.
|
... | ... | |