15,534
edits
Changes
→See also
This page provides information how to run Gramps 4.0.x to 4.1.x from source on a Microsoft Windows system with a 32 bit Python 2.7.6 (and Python 3.2 or greater).
The principles are still OK. For a time without an AIO package that was a good way to have a running Gramps for Windows using Python 2.7.3. But the now available AIO package has a better usability. To prevent two different versions no further actions where done since the beginning of 2014.
There are some parts marked as :* "TODO ISSUE" because of known issues.* "TODO WORK" because it's not done yet done (work in progress).
==Python==
Requirements from the Gramps [https://github.com/gramps-project/gramps/blob/maintenance/gramps41/READMEREADME]:
* Python 2.7 or greater, Python 3.2 or greater (python version cannot be mixed)
**We use: Python 2.7.6 32 bit from httphttps://www.python.org/getitdownloads/ (python-2.7.6.msi) for all examples assumed to be installed into "C:\Python27".<br>**Comment: It's also possible to use Python 2.7.3 or 2.7.5 but always 32 bit (no experiences for 64 bit versions)<br>**Comment: For Win7 user it's easier to don't not use "C:\Program Files (x86)\..." because for every change somewhere in this folder one has to activate the administrator's rights again and again.
===PyGI AIO Package===With the help of an open source programmer we get this package (here again the authors personally thank for his good job supporting Gramps in this way - see there to know more about of his other work: http://opensourcepack.blogspot.de/2013/01/mypaint-and-pygi.html): * 19.01.2014: Download '''pygi-aio-3.10.2-win32_rev15-setup.exe''' or newer as a complete installer from:** http://sourceforge.net/projects/pygobjectwin32/files/*The PyGI AIO Package includes the following libraries for Gramps that should be selected during the installation process (you may choose libraries other for additional usages):** gdk-pixbuf (version 2.30.2 in pygi-aio-3.10.2-win32_rev15-setup.exe)** libgexiv2 (version 0.7.0 in pygi-aio-3.10.2-win32_rev15-setup.exe)** goocanvas (version 2.0.2 in pygi-aio-3.10.2-win32_rev15-setup.exe)** gtk+ (version 3.10.6 in pygi-aio-3.10.2-win32_rev15-setup.exe)** gtkspell (version 3.0.3 in pygi-aio-3.10.2-win32_rev15-setup.exe)** osm-gps-map (version 1.0.1 in pygi-aio-3.10.2-win32_rev15-setup.exe)** pango (version 1.36.1 in pygi-aio-3.10.2-win32_rev15-setup.exe)** webkitgtk (version 1.10.2 in pygi-aio-3.10.2-win32_rev15-setup.exe)* To run Gramps there is no need for pygi-aio's optionally provided developer tools.* Don't use the older GTK 3.8.6 (Select "No" as answer at the additional question dialogue!)* Deprecated versions before 15.12.2013 see history Comments (19.01.2014): * All gtk binaries are included in the pygi-aio installer package and correctly placed.* The pygi-aio package has no need for processors having an SSSE3 instruction set. ====Gtk, pyobject====
Requirements from README:
* GTK 3.0 8.7+ or greater
* pygobject 3.3.2 or greater
* cairo, pango, pangocairo with instrospection introspection bindings (the gi packages)
* librsvg2 (svg icon view)
* xdg-utils
Checking the state of the pygi-aio package can be done confirmed by:* start starting Python (e. g.: C:\Python27>python)
* and than call the functions as follows. There should be the same results.
Python 2.7.6 (default, Nov 10 2013, 19:24:18) [MSC v.1500 32 bit (Intel)] on win
10L
>>> Gtk.get_micro_version()
>>> from gi.repository import GObject
>>> GObject.pygobject_version
(3, 10, 2)
===ICU/PyICU===This package is a "must be". 02.12.2013: Download http://dl.dropbox.com/u/81888101/Gramps/PYICU_py27_win32.zip.* Copy all files from PYICU_py27_win32.zip\lib\site-packages to "C:\Python27\Lib\site-packages"* Now we have to place the binaries from PYICU_py27_win32.zip\bin to a folder found by Python / Gramps:** First Option: Somewhere on hard disc e.g. "C:\icu". In this case we have to add this path to the environment variable PATH.** Second Option: Into the same folder as python.exe. That's a good solution for a package, because we don't need any changes for the environment variable PATH. To check ICU/PyICU just try it in Python (don't forget the environment variable PATH): Python 2.7.6 (default, Nov 10 2013, 19:24:18) [MSC v.1500 32 bit (Intel)] on win 32 Type "help", "copyright", "credits" or "license" for more information. >>> import icu >>> print icu.ICU_VERSION 50.1.2 >>> print icu.VERSION 1.5 ===language-pack-gnome-xx====
Requirements from README (*STRONGLY RECOMMENDED*):
* Translation of GTK elements to your language, with xx your language code eg for Dutch you need language-pack-gnome-nl. The translation of the Gramps strings is included with the source code.
The necessary package related to our GTK package will be provided also by the programmer of the GTK package (see above).
* 0219.1201.20132014: No further actions necessary, because this GTK package contains also these components.* 11.03.2013 (Deprecated): <strike>from http://code.google.com/p/osspack32/downloads/detail?name=pygi-aio-3.4.2rev10-opt.7z&can=2&q=pygi-aio-3.4.2rev10.7z download pygi-aio-3.4.2rev10-opt.7z** Copy the folder "pygi-aio-3.4.2rev?-opt.7z\gtk\share\locale" into the related Gtk folder "..\site-packages\gtk\share\locale". For our example this would be: "C:\Python27\Lib\site-packages\gtk\share\locale".</strike>
* Deprecated versions before 11.03.2013 see history
====osmgpsmap====
Requirements from README (*STRONGLY RECOMMENDED*):
* Used to show maps in the geography view. Without this the GeoView will not be active, see http://gramps-project.org/wiki/index.php?title=[[Gramps_4.0_Wiki_Manual_1_Wiki_Manual_-_Main_Window_Categories#Geography_Category]]
* The package is named osmgpsmap, osm-gps-map or python-osmgpsmap. Or obtain it from: http://nzjrs.github.com/osm-gps-map/ (Comment: There is no direct download from this web page)
Add this package:
* 0219.1201.20132014: osmgpsmap is integrated part of the GTK3 GTK package. * 07.03.2013 (Deprecated): <strike>From http://code.google.com/p/osspack32/downloads/detail?name=osm-gps-map-git.7z&can=2&q= download osm-gps-map-git.7z. For our example copy the content to "C:\Python27\Lib\site-packages".</strike>
Comments:
* There is a warning from the provider of this package: "window resizing crashed". But it seems this doesn't happens for Gramps - may be in rare cases only.
====GExiv2====Is an optional package.19.01.2014: GExiv2 is integrated part of the GTK package. Because the EditExifMetadata add-on isn't currently available this package is tested for reading exif data only using the "image metadata" gramplet. ====gtkspell====Requirements from README (optional package):* Enable spell checking in the notes. * Gtkspell depends on enchant. * A version of gtkspell with gobject introspection is needed, so minimally version 3.0.0. 19.01.2014: The basics to use a spell are already included in the here used GTK package. {{man warn| At least the content of pygi-aio-3.10.2-win32_rev15-setup.exe used by Gramps forces an crash if libenchant_voikko.dll is available!<br/>It is strongly requested to delete ...\Lib\site-packages\gnome\lib\enchant\libenchant_voikko.dll.}} The only missed things may be special myspell dictionaries (comment: Gramps uses myspell only!) . These can be found here:* from http://extensions.openoffice.org/ download the language packages of your choice. Included in the there provided .oxt files one can extract by using a program like 7-Zip the necessary .aff and .dic files.* alternate [http://extensions.libreoffice.org/extension-center?getCategories=Dictionary&getCompatibility=any extensions.libreoffice.org/]* Or you may find these files (.aff and .dic) as part of any GrampsAIO installation in "..\share\enchant\myspell" For our example all files *.aff *.dic have to be stored into "C:\Python27\Lib\site-packages\gnome\share\enchant\myspell". TODO ISSUE/WORK There are still some issues using spell (as per 019.01.2014):* Open the note editor having spell activated slows down the os extremely as longer as larger the text. This may cost more than 45 seconds for a text having 400 lines and 17000 characters. So it's strongly suggested to don't global activate "Enable spelling checker" in Preferences!* Up to Gramps 4.0.2 there is a spell related issue [https://www.gramps-project.org/bugs/view.php?id=7339 #7339] which has to be prevented by the there provided patch! ====gir-webkit====Information from README:* GObject introspection data of WebKit is required for the hidden view 'Htmlview', which allows websites to be opened in Gramps. * Users can unhide the view in the plugin manager. * A html renderer must be installed to use the view.* !! PACKAGERS, Test if on your distribution webkit and Gramps is stable. If you obtain crashes, patch src/plugins/view/htmlrenderer.py and src/plugins/view/geoview.gpr.py, so as to remove: from gi.repository import WebKit as webkit 19.01.2014: Webkit is an integrated part of the GTK package. ====goocanvas====Information from README:* Required for the Graphview plugin 19.01.2014: It's is part of the current GTK package === Not Provided by GTK-AIO package === ====ICU/PyICU====Requirements from README (*STRONGLY RECOMMENDED*): 19.01.2014: Download http://dl.dropbox.com/u/81888101/Gramps/PYICU_py27_win32.zip (This zip provides ICU/PyICU version 1.5 (for current version information see https://pypi.python.org/pypi/PyICU ) * Copy all files from PYICU_py27_win32.zip\lib\site-packages to "C:\Python27\Lib\site-packages"* Now we have to place the binaries from PYICU_py27_win32.zip\bin to a folder found by Python / Gramps:** First Option: Somewhere on hard disc e.g. "C:\icu". In this case we have to add this path to the environment variable PATH.** Second Option: Into the same folder as python.exe. That's a good solution for a package, because we don't need any changes for the environment variable PATH. ''If you don't know, where to put dll (you get an "ImportError: DLL load failed" error), put a *.dll in a "C:\Python27\Lib\site-packages" (without a bin subfolder).'' To check ICU/PyICU just try it in Python (don't forget the environment variable PATH): Python 2.7.6 (default, Nov 10 2013, 19:24:18) [MSC v.1500 32 bit (Intel)] on win 32 Type "help", "copyright", "credits" or "license" for more information. >>> import icu >>> print icu.ICU_VERSION 50.1.2 >>> print icu.VERSION 1.5 Comment (19.01.2014): There are other unofficial PyICU versions available some where in the web. But be careful to use other than the one above. Unexpected issues may be caused. ====GraphViz====
Requirements from README (*STRONGLY RECOMMENDED*):
* Enable creation of graphs using GraphViz engine.
* Obtain it from: http://www.graphviz.org
19.01.2014: Following the information on http://www.graphviz.org we get the current package graphviz-2.34.zip from http://www.graphviz.org/Download_windows.php: graphviz-2.36.zip
For the examples we copy the complete content to "C:\Program Files (x86)\Graphviz2.3436\".
To give Gramps the access to this software we have to add the directory of the related binaries to the PATH environment variable. But to prevent trouble with the used dll versions between GraphViz and Gramps it's strongly recommended to add this at the end of PATH
SET PATH=%PATH%;C:\Program Files (x86)\Graphviz2.3430\bin\
{{man warn| Using "Graph View" GraphViz 2.34 or higher forces an error (#{{bug|7109}} Fixed in Gramps 4.2.0). At #{{bug|7109}} you will find a patch to solve the issue for older versions of Gramps.<br>Without this patch and a still unsolved issue one should use graphviz-2.30.1.zip from http://www.graphviz.org/pub/graphviz/stable/windows/. The handling is the same as above}}<br>Comments: GraphViz will be used e. g. for any report in Reports --> Graphs. Without GraphViz there is only one output format "Graphvi File". If all is OK there are several output formats available (e. g. "PDF (Graphviz)", "JPEG image" etc.).
* alternate http://portableapps.com/node/38245 '''GVEdit (Graphviz) Portable''' ====pyexiv2===='''24.02.2013: Will not be used any more, replaced by [[Run_Gramps40_for_Windows_from_source_using_Python_2.7.3#GExiv2 |GExiv2]]''' ====ghostscript ghostview====
Optional packages
* From http://www.ghostscript.com/download/gsdnld.html download the "Ghostscript GPL Release" for "Ghostscript 9.10 for Windows (32 bit)" and run the downloaded file gs910w32.exe. For the example we again use the default installation.
** Python / Gramps needs to know the folder where the binaries are stored (default: "C:\Program Files (x86)\gs\gs9.10\bin") by defining the environment variable PATH.<code>SET PATH=%PATH%;C:\Program Files (x86)\gs\gs9.10\bin\</code>
** As option it's possible to place the content of the binary folder (default: "C:\Program Files (x86)\gs\gs9.10\bin") into the same folder as python.exe to prevent any changes of the environment variable PATH.
* From http://pages.cs.wisc.edu/~ghost/gsview/get50.htm download and run gsv50w32.exe (e. g. into the default install folder: C:\Program Files (x86)\Ghostgum).
** Python / Gramps needs to know the folder where the binaries are stored (default: "C:\Program Files (x86)\Ghostgum\gsview") by defining the environment variable PATH.<br>Comment: This tool will be used to display .ps files as optional result of reports. So at least it's like e.g. any a .pdf viewer or .rtf viewer. It would be possible to include it into any Gramps package. But as normally nobody would include a .pdf viewer or .rtf viewer into a Gramps package I won't suggest to do that for a .ps viewer.
** alternate http://portableapps.com/apps/utilities/ghostscript_portable
===GExiv2=rcs==Is an optional package.02.12.2013: GExiv2 is integrated part of the GTK3 package. Because the EditExifMetadata add-on isn't currently available this package is tested for reading exif data only using the "image metadata" gramplet. ===gtkspell===
Requirements from README (optional package):
* Enable spell checking in the notes. * Gtkspell depends on enchant. * A version of gtkspell with gobject introspection is needed, so minimally version 3.0.0. The basics to use a spell are already included in the here used GTK3 package. The only missed things are myspell dictionaries. These can be found:* from [http://wikien.openofficewikipedia.org/wiki/Dictionaries download the language packages of your choice. In some cases (e.g. for German) it's more difficult because one has to download a "OpenOffice.org 3.x Extensions" package. For German one will get via http://extensions.services.openoffice.org/project/dict-de_DE_frami the file dict-de_DE-frami_2012-06-17.oxt. Using a program like 7-Zip one will find the necessary files (de_DE_frami.aff and de_DE_frami.dic) in "dict-de_DE-frami_2012-06-17.oxt\de_DE_frami\". * from e.g. the GrampsAOI3.4.2 package in "..\GrampsAIO32_3.4.2\share\enchant\myspell" For our example all files *.aff *.dic have to be stored into "C:\Python27\Lib\site-packages\gtk\share\enchant\myspell". TODO ISSUE/WORK There are still some issues using spell:* Open the note editor having spell activated slows down the os extremely as longer as larger the text.* The spell settings will not be stored. ===rcs===Requirements from README (optional package):* The Revision_Control_System GNU Revision Control System (RCS) ] can be used to manage multiple revisions of your family trees. * See info at http://www.gramps-project.org/wiki/index.php?title=[[Gramps_4.0_Wiki_Manual_1_Wiki_Manual_-_Manage_Family_Trees#Archiving_a_Family_Tree]]
* Only rcs is needed, NO python bindings are required
It seems to be working but the reload from an archived database doesn't run.
Finally it doesn't matter to install rcs.
====PIL====
Requirements from README (optional package):
* Python Image Library is needed to convert non jpg images to jpg so as to include them in LaTeX output
From http://www.pythonware.com/products/pil/ download PIL-1.1.7.win32-py2.7.exe. Run this installation to add PIL to the used Python version.
* alternate: http://python-pillow.github.io/ ====ttf-freefont====
Information from README: More font support in the reports
07.03.2013 TODO WORK: How to use for the Windows environment. It's assumed that the fonts should be added to the Graphviz environment, but not yet tested. ===gir-webkit===Information from README:* GObject introspection data of WebKit is required for the hidden view 'Htmlview', which allows websites to be opened in Gramps. * Users can unhide the view in the plugin manager. * A html renderer must be installed to use the view.* !! PACKAGERS, Test if on your distribution webkit and Gramps is stable. If you obtain crashes, patch src/plugins/view/htmlrenderer.py and src/plugins/view/geoview.gpr.py, so as to remove: from gi.repository import WebKit as webkit 07.03.2013: Webkit is an integrated part of the GTK3 package. But currently it runs for internal file addresses only. Any web address "http://..." crashes<br>TODO ISSUE: To have it run without any issue. ===goocanvas2===Information from README:* Required for the Graphview plugin To add it:<br>* 07.03.2013: From http://ftp.gnome.org/pub/GNOME/binaries/win32/goocanvas/2.0/ download goocanvas-2.0.1-win32.zip and store the goocanvas-2.0.1-win32.zip\bin\libgoocanvas-2.0-9.dll into a folder found by Gramps. For our example we use a own folder to be interdependent from any other changes: C:\Goocanvas.* From the GrampsAIO32_3.4.2\lib\site-packages copy goocanvas.pyd into C:\Python27\Lib\site-packages (TODO WORK: Have a better place to download from.) To use this one needs the Graphview add-on.<br>TODO ISSUE 07.03.2013: The Graphview is currently not stable!
==Debug Environment==
TODO WORK: description
==Start Gramps 4.0.x==
===Get Gramps sources===
For all examples it's assumed that the Gramps source (e.g. from the GIT repository httphttps://svngithub.com/gramps-project/gramps or the .codetar.sfgz from from http://sourceforge.net/pprojects/gramps/codefiles/branchesStable/maintenance../gramps40) will be stored into "C:\Gramps4.0".
It's helpful to use a Subversion special client for Windows to get these sources. Also if one gets sources only such a tool provides the possibility of history search and or compare and also to mark differences between the current version on the computer and the repository.
There are good experiences using TortoiseSVN TortoiseGIT from http://tortoisesvncode.netgoogle.com/p/tortoisegit/downloads.html.
===Prepare Setup===
[Changed 03.0912.2013]<strike>To run setup.py we need the translation tools from tool msgfmt.exe having a proper version. The installer for poedit (http://sourceforge.net/projects/gnuwin32poedit/files/gettextpoedit/0.141.45/gettextpoedit-01.145.47-setup.exe/download?use_mirror=switch&download=: Download gettext-) provides msgfmt.exe in version 0.1418.41.exe and run it to install0. For all examples assumed to be installed to: "C:\Program Files (x86)\GnuWin32\bin" (The default path of the installer)</strike>
For all examples we assume poedit to be installed to: "C:\Program Files (x86)\Poedit" (The default path of the installer).
Here is an example batch file to run this:
The result should look like this:
running build
Possible exception:<br> * setup.py stops because of a missing "intltool-merge". <br>* setup.py assumes for Windows to have either non installed "intltools" or complete installed "intltools". In some rare situations it could be possible to have an incomplete installation of these tools. But because we don't need these tools to run Gramps itself it's necessary to edit setup.py in such cases: Insert "return (0, 0, 0)" direct behind "if sys.platform == 'win32':" in "def intltool_version():".
...
cmd = ["perl", "-e print qx(intltool-update --version) =~ m/(\d+.\d+.\d+)/;"]
...
Comments:
* After running this it would be possible to run Gramps from "C:\Gramps4.0" or from some where "C:\Gramps4.0\build\...".
TODO ISSUE: Each work around to be removed if not necessary any more
===Overall appearance===
A short description 'How to control the general view of Gramps using GTK themes':
* For our example theme packages have to be stored in "C:\Python27\Lib\site-packages\gtkgnome\share\themes". Per default with the here used GTK package there are three packages available:
** Adwaita
** Bluebird
** Default
** Emacs
** Evolve
** Greybird
** HighContrast
** Orion
To select one of these themes one has to manipulate the a special settings.ini file. For our example it's placed there:
* C:\Python27\Lib\site-packages\gtkgnome\etc\gtk-3.0\settings.ini
* This example for settings.ini defines the theme "Adwaita" and the font "Segoe UI" having the font size 10:
[Settings]
gtk-theme-name = AdwaitaHighContrast
gtk-font-name = Segoe UI 10
At this point we have a basically running Gramps.
Because we didn't add all packages suggested by the README we didn't have the full functionality. Especially some output formats and the geographic view are not available yet (TODO WORK: Add the missing packages having a usable version.)
To run Gramps a batch seems to be helpful:
"Gramps -v" should show this information now (last change 03if one uses the gramps-4.030.2013)2.tar.gz from http://sourceforge.net/projects/gramps/files/Stable/:
Gramps Settings:
----------------
python : 2.7.36 gramps : 4.0.0-alpha5-r21574M2 gtk++ : 3.10.6.4 pygobject : 3.410.2 pango : 1.3236.61
Not using bsddb3
bsddb : 45.83.4.20
bsddb.db : 4.7.25
cairo : 1.12.1016
pycairo : 1.10.0
osmgpsmap : 1.0.8
GExiv2 : 0.4
ICU : 50.1.2
Non-python dependencies:
------------------------
Graphviz : 2.3036 Ghostscr. : 9.0710
System PATH env variable:
-------------------------
C:\Goocanvas
C:\Program Files (x86)\gs\gs9.0710\bin
C:\icu
...
==Known Major Issues==
As known per 01.04. to 18.07.2013-12-16* (23GraphViz 2.07.2013 updated34 and later causes an error in Graph View: it works well on WinXP 32 bit) <strike>The described system doesn't work see {{bug|7277}} for WinXP 32bitmore details</strike>* Webview crashes for any web address "http://..." - but runs well for local file access* 06.04.2013 (resolved '''It's solved with pygi-aio-3.the AIO for Gramps 4.2rev111.7z): <strike>Graphical and text reports using PDF output crashes with a pango error ("Pango-CRITICAL **: pango_font_description_better_match: assertion `new_match != NULL1''' failed @ gramplet/welcomegramplet.py")</strike>
* no Django
* Spell[[Run_Gramps40_for_Windows_from_source_using_Python_2.7.3#gtkspell |gtkspell]]:** Opening the note editor having spell activated or activating the spell within the note editor blocks Python / the application for a while (as longer as larger the text). Therefore it's suggested to deactivate the spell checker in Preferences. But it's the same if one toggles this feature or changes the spell language interactive using the right mouse context menu in the Note Editor.
** The spell settings will not be stored.
* GraphView (third party addon), 13.07.2013: crashes see http://wwwThe [[Run_Gramps40_for_Windows_from_source_using_Python_2.gramps-project7.org/bugs/3#osmgpsmap |Geographic view.php?id=6904]] and other gtk parts may generate warnings without any other known effect* If LANG not equal en_GB Graphic reports in some cases produce empty PDF sheets or force graphviz to crash WinXP (26.12.13): see: http://www.gramps-projectinformation [[Run_Gramps40_for_Windows_from_source_using_Python_2.org/bugs/view7.php?id=6928)3#Windows_operating_system |above]]
==See also==
*[[GEPS 029: GTK3-GObject introspection Conversion]]
*[[GrampsAIO-4 package updating]]
*[[Gramps for Windows with MSYS2]]
[[Category:GEPS|W]]
[[Category:Developers/General]]