The compilation of Nmag all from the tarballs with names nmag-0.2.0.tar.gz and similar provides (nearly) all the required libraries and tools, including Python, Petsc, Sundials, Metis and others.
An advantage of this installation method is that it is (more) independent from changing library versions: by not relying on the Python (and Petsc, etc) provided on the system, there is no danger that the interface of these libraries and tools is different from the interface that the nmag code expects.
The disadvantages include that Nmag brings it's own Python and it will thus not benefit from the Python library scipy if this is installed for the system Python. To be able to use it within an Nmag script, scipy would have to be installed for Nmag's Python. (This is possible, but inconvenient.)
This way of installing Nmag is the most robust way.
The compilation of Nmag from the small tarballs with names nmag-0.2.0.tar.gz and similar requires all the support libraries and tools, including Python, Petsc, Sundials, Metis and others to be present in the system already, including their header files etc (typically provided by corresponding -dev packages).
An advantage of this installation method is that it allows you to use the system Python to run Nmag. This might be handy if you want to use third-party Python libraries in your Nmag scripts. This method also needs less disk space.
The disadvantages include that the versions of the installed support libraries have to be compatible with Nmag's expectations.
A disk image for a virtual machine: this allows to run a virtual linux system in an application on (for example) a Windows computer. Nmag can be used inside the virtual linux system. The disk image that we provide for the virtual machine contains a compiled Nmag which is ready to use, together with some meshing and postprocessing tools.
The virtual machine approach is very convenient if you want to test Nmag but don't want to spend much time installing it, and/or if you only have a Windows machine available.