Installing Fabric on Ubuntu 10.10

November 29, 2010

To install fabric on Ubuntu 10.10:

$ sudo apt-get install python-setuptools
$ sudo easy_install fabric

Unfortunately I got the following error at this point:

Processing pycrypto-2.3.tar.gz
Running pycrypto-2.3/setup.py -q bdist_egg --dist-dir /tmp/easy_install-ixJXIY/pycrypto-2.3/egg-dist-tmp-f8z_dY
warning: GMP library not found; Not building Crypto.PublicKey._fastmath.
src/MD2.c:31: fatal error: Python.h: No such file or directory
compilation terminated.
error: Setup script exited with error: command 'gcc' failed with exit status 1

This was because I didn't have the python-dev package installed.

$ sudo apt-get install python-dev
$ sudo easy_install fabric

Fabric is now installed and can be run using fab.

$ fab
Usage: fab [options] <command>[:arg1,arg2=val2,host=foo,hosts='h1;h2',...] ...

Options:
  -h, --help            show this help message and exit
  -V, --version         show program's version number and exit
  -l, --list            print list of possible commands and exit
  --shortlist           print non-verbose list of possible commands and exit
  -d COMMAND, --display=COMMAND
                        print detailed info about a given command and exit
  -r, --reject-unknown-hosts
                        reject unknown hosts
  -D, --disable-known-hosts
                        do not load user known_hosts file
  -u USER, --user=USER  username to use when connecting to remote hosts
  -p PASSWORD, --password=PASSWORD
                        password for use with authentication and/or sudo
  -H HOSTS, --hosts=HOSTS
                        comma-separated list of hosts to operate on
  -R ROLES, --roles=ROLES
                        comma-separated list of roles to operate on
  -i KEY_FILENAME       path to SSH private key file. May be repeated.
  -a, --no_agent        don't use the running SSH agent
  -k, --no-keys         don't load private key files from ~/.ssh/
  -f FABFILE, --fabfile=FABFILE
                        Python module file to import, e.g. '../other.py'
  -w, --warn-only       warn, instead of abort, when commands fail
  -s SHELL, --shell=SHELL
                        specify a new shell, defaults to '/bin/bash -l -c'
  -c RCFILE, --config=RCFILE
                        specify location of config file to use
  --hide=LEVELS         comma-separated list of output levels to hide
  --show=LEVELS         comma-separated list of output levels to show

Tags: fabric python