This file contains some useful details on the installation from source code for GRAMPS. It does not cover installation of a pre-built binary package. For that use your package manager, the rest is already done by the packager. Uninstall old version --------------------- If you do a source install in the same place as an existing install, you need to remove the old version first. You can delete the old version by deleting the installed directories. For example, if your installation prefix is /usr/local, remove the following: /usr/local/bin /usr/local/share/gramps /usr/local/lib/pythonx.x/site-packages/gramps If you installed with a package manager you might instead need to remove /usr/local/lib/pythonx.x/dist-packages/gramps replacing pythonx.x with the python version you used, e.g. python2.7. Also remove any gramps .egg files that are installed along with the gramps directory. If you don't know the list of all files that Gramps installed, you can reinstall it with the --record option, and take a look at the list this produces (so python setup.py install --record grampsfiles.txt GRAMPS is a python application, so loading happens on reading the files, meaning that files of a previous version that are no longer present in the new version can still be loaded, making the new install unstable! distutils install ----------------- We do not check all dependencies of Gramps, see README for a list of all required and optional dependencies. Missing dependencies will result in runtime errors. To build and install, whether from a tarball or git repo: python setup.py build sudo python setup.py install You can avoid using sudo for the install step by specifying a prefix to which you have write priviledge. The default is /usr/local, which is usually owned by root. You can learn of more options with python setup.py --help You can work with Gramps if you only build it by pointing the PYTHONPATH to the build directory, but things like MIME type and desktop entries will not be created then. Typical install directories in linux (ubuntu) are: * /usr/local/lib/python2.7/dist-packages/gramps/ : the gramps python module * /usr/local/share/mime-info : mime info so gramps opens files automatically * /usr/local/share/icons/gnome : our icons * /usr/local/share/doc/gramps : documentation, also example .gramps and .gedcom * /usr/local/bin : the gramps executable * /usr/local/share/locale/xx/LC_MESSAGES : xx language code, translation * /usr/local/share/man/man1/xx/man1 : xx language code, man file * /usr/local/share/mime * /usr/local/share/mime-info Running Gramps -------------- Gramps is python only, so no compilation is needed, you can even run gramps from the source directory. a) You installed Gramps, then you can run it with the command gramps b) You installed Gramps, and want to start it from the PYTHONPATH. In this case use the command: python -c 'from gramps.grampsapp import main; main()' The executable 'gramps' in /usr/local/bin or /usr/bin from a) does this for you. b) You downloaded the Gramps source code to a directory, and want to run it. You can start Gramps from the source code directory with python Gramps.py See gramps/gen/const.py how Gramps finds his resource directories in case you encounter problems. Custom directory installation ------------------------------------- If you would like to install GRAMPS without being root, or in an alternative location on windows, supply the --root argument to setup.py For example: python setup.py install --root ~/test or python setup.py install --root ~/test --enable-packager-mode The last option, --enable-packager-mode, is needed if you want to disable execution of post-install mime processing. If you don't have root/admin access, this will be needed Packager's issues ------------------ There is a MANIFEST.in file to indicate the work needed. To create a source distribution run: python setup.py sdist