tobias47n9e 733fc34b74 add PyGI example 10 éve
..
1_download.sh 733fc34b74 add PyGI example 10 éve
2_extract.sh 733fc34b74 add PyGI example 10 éve
README.rst 733fc34b74 add PyGI example 10 éve
gnome_preamble.py 733fc34b74 add PyGI example 10 éve
installer.cfg 733fc34b74 add PyGI example 10 éve
pygi_test.py 733fc34b74 add PyGI example 10 éve

README.rst

This example shows how to package a program that uses the PyGI-bindings of Gtk (or PyGObject). Python 3.4.3 64-bit will be used together with 64-bit dependencies.

The example program conists of a window with a matplotlib-plot and a button that triggers the window to close.

Requirements
------------

This example needs 7zip in order to work. You can install it for example on
Debian-style distributions using:

::

sudo apt-get install p7zip

Building the program
--------------------

A shell script can be used to download some of the dependencies:

::

sh 1_download.sh

The numpy 64-bit wheel can be downloaded here (numpy‑1.9.2+mkl‑cp34‑none‑win_amd64.whl):

http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy

Rename it to numpy.whl before starting the second script.

The next script will copy all the dependencies into the ``pynsist_pkgs`` folder.

::

sh 2_extract.sh

After that, the example can be built using this command:

::

python3 -m nsist installer.cfg

Installer.cfg
-------------

The example uses 64-bit Python 3.4 and 64-bit dependencies. This is expressed in the
``installer.cfg``-file like this:

::

version=3.4.3
bitness=64

The include section requires the Python packages numpy, matplotlib (which are taken from the ``pynsist_pkgs`` folder). In addition the packages six, dateutil and pyparsing are required. From the pygi-bindings the top level packages cairo, dbus, gi, gnome and pygtkcompat have to be listed here (They are also in the top level of the ``pynsist_pkgs`` directory). The ``gnome``-folder contains the dependencies ATK, Base, GDK, GDKPixbuf, GTK, JPEG, Pango, WebP and TIFF.

::

[Include]
packages=gi
cairo
dbus
gnome
pygtkcompat
numpy
matplotlib
six
dateutil
pyparsing