It is a python package. Hence, the best way to install is by using pip. Here is how on Ubuntu 16.04
Requirements:
$ # install geos $ sudo apt install libgeos++-dev $ # install proj $ sudo apt install libproj-dev
Install cartopy
$ # clone github repo $ git clone https://github.com/SciTools/cartopy.git $ # cd ke repo $ cd cartopy $ # install from source $ python3.6 setup.py install --user
In that case, I used Python 3.6 in user environment, not root.