Zero Install

the antidote to app-stores

Install from Source

This is the older (but better tested) version of 0install. Consider trying the newer OCaml version (faster, but less well tested). 0install 2.3 is written entirely in Python, so installing from source is quite simple.

Name 0install
Maintainer Thomas Leonard
License GNU Lesser General Public License
SCM GIT repository

To use 0install, you will need the following (these are installed on most Linux systems by default):

  • Python (version 2.6, 2.7 or 3.2+).
  • PyGObject (this is a dependency of PyGTK, but is also available separately). If PyGObject is not available, 0install can use Tulip instead (which is pure Python, but requires Python >= 3.3).
  • GnuPG (to check the digital signatures).

Note: the last version to support Python 2.5 was 0install 1.0.

For the optional (but recommended) GUI:

  • If using Python 2: PyGTK 2.12 or later.
  • If using Python 3: GTK3, including the GIRepository bindings (gir1.2-gtk-3.0).
  • xdg-utils (optional; GNOME and KDE desktop integration).

If you are looking for a package, try the main downloads page.


Download the latest .tar.bz2 archive from the download page (and the corresponding .sig file if you want to verify it), or using wget:

$ wget
$ wget

Check that the signature is correct using GPG (this also ensures that GPG is installed correctly). You'll need my GPG key, which you can download and import using --recv-key (or manually):

$ gpg --recv-key --keyserver CA74D8BA
$ gpg 0install-2.3.4.tar.bz2.sig
gpg: Signature made Sun Nov 16 17:21:21 2014 UTC using RSA key ID CA74D8BA
gpg: Good signature from "Thomas Leonard <>"
gpg: Good signature from "Thomas Leonard <>"
gpg: WARNING: This key is not certified with a trusted signature!
gpg:          There is no indication that the signature belongs to the owner.
Primary key fingerprint: DA98 25AE CAD0 8975 7CDA  BD8E 0713 3F96 CA74 D8BA

The warning is just to tell you that you haven't yet established that the key really belongs to me (ultra-paranoid users will now cross-check the finger-print using some other source of information).

You should now extract the archive, and change directory inside it:

$ tar xjf 0install-2.3.4.tar.bz2
$ cd 0install-2.3.4
Installing normally Installing without root access

For a normal install, either su to root, install, and exit from root, or use sudo:

$ sudo python install

If you don't have the root password, use this command. You'll need to make sure that ~/bin is in $PATH in this case.

$ python install --home ~ --install-data ~/.local
$ export PATH=$HOME/bin:$PATH

Logging out and back in again will ensure $PATH and the Applications menu get updated correctly, on Ubuntu at least.

choosing the Python version
The installed scripts will use whichever version of python you used for the install. e.g. use "python3 ..." if you want to force Python 3.
error: invalid Python installation: unable to open /usr/lib/python2.X/config/Makefile
You need to install the python-dev package, not just python.
package init file 'zeroinstall/0launch-gui/' not found (or not a regular file)
This is just a warning and is harmless.

You now have some new commands: 0launch, which takes the URL of a program and runs it, and 0install, which provides access to other features.

Note (mainly for packagers): there is an optional OCaml front-end, which makes starting applications (and tab-completion) faster. Do "make ocaml" before installing to get that. You'll need to install OCaml and various extra library packages to build this.