1710
Comment:
|
3591
|
Deletions are marked like this. | Additions are marked like this. |
Line 26: | Line 26: |
Line 59: | Line 60: |
Line 66: | Line 68: |
Once that's done, you'll need to copy the etc, lib and share directories from your GTK+ install to the dist dir py2exe created. Optionaly, you can clean the share\locale dir to include only the locales you need for GTK+. Same thing for share\themes (I left both Default and MS-Windows). |
Once that's done, '''you'll need to copy the etc, lib and share directories from your GTK+ install (''not'' the pygtk install) to the dist dir py2exe created.''' Optionaly, you can clean the share\locale dir to include only the locales you need for GTK+. Same thing for share\themes (I left both Default and MS-Windows). |
Line 71: | Line 73: |
That's it :D | If you are using kiwi, you will also have to copy the ''contents'' of the (''path to python'')/share/kiwi directory (and (''path to python'')/share/gazpacho, if you used gazpacho) to the dist dir. And you will have to create an empty 'kiwi' directory in the dist/pixmaps directory that you just copied there. (note: I have not tested kiwi with the Innosetup installer, but if you try it and it works edit this page and remove this note :) ) |
Line 73: | Line 79: |
Tested with: * Windows XP SP2 * Python 2.4.2 * gtk-win32 2.8.8-rc2 * pycairo 1.0.2-1 * pygtk 2.8.4-1 * py2exe 0.6.3 |
Note you'll want to set the working directory (Start in:) for any shortcut you create to the application directory containing the executable. (Optional) an Innosetup .iss file to create an installer for handytool: {{{ [Setup] AppName=handytool AppVerName=handytool 1.0 AppPublisher=me AppPublisherURL=http://www.localhost.me DefaultDirName={pf}\handytool DefaultGroupName=handytool DisableProgramGroupPage=true OutputBaseFilename=setup Compression=lzma SolidCompression=true AllowUNCPath=false VersionInfoVersion=1.0 VersionInfoCompany=me inc VersionInfoDescription=handytool PrivilegeRequired=admin [Dirs] Name: {app}; Flags: uninsalwaysuninstall; [Files] Source: dist\*; DestDir: {app}; Flags: ignoreversion recursesubdirs createallsubdirs [Icons] Name: {group}\handytool; Filename: {app}\handytool.exe; WorkingDir: {app} [Run] Filename: {app}\handytool.exe; Description: {cm:LaunchProgram,handytool}; Flags: nowait postinstall skipifsilent }}} This Recipe has been tested with: * [http://www.microsoft.com/ Windows XP SP2] * [http://www.python.org/download/ Python 2.4.3] * [http://gladewin32.sourceforge.net/modules/wfdownloads/ gtk-win32 2.8.14-rc1] * [http://www.mapr.ucl.ac.be/~gustin/win32_ports/pygtk.html pycairo 1.0.2-1] * [http://www.mapr.ucl.ac.be/~gustin/win32_ports/pygtk.html pygtk 2.8.4-1] * [http://www.async.com.br/projects/kiwi/ kiwi 1.9.20] ''optional'' * [http://www.py2exe.org/ py2exe 0.6.5] * [http://www.jrsoftware.org/isinfo.php Inno Setup 5.1.6] |
create your handytool.py:
import sys import pygtk if not sys.platform == 'win32': pygtk.require('2.0') import gtk from mainwindow import MainWindow if __name__ == '__main__': # enable threading gtk.threads_init() gtk.threads_enter() # create the main window myapp = MainWindow() # start the program loop gtk.main() # cleanup gtk.threads_leave()
create your setup.py file:
from distutils.core import setup import py2exe setup( name = 'handytool', description = 'Some handy tool', version = '1.0', windows = [ { 'script': 'handytool.py', 'icon_resources': [(1, "handytool.ico")], } ], options = { 'py2exe': { 'packages':'encodings', 'includes': 'cairo, pango, pangocairo, atk, gobject', } }, data_files=[ 'handytool.glade', 'readme.txt' ] )
run setup.py py2exe. You'll get a warning:
The following modules appear to be missing ['gdk', 'ltihooks']
Ignore it
Once that's done, you'll need to copy the etc, lib and share directories from your GTK+ install (not the pygtk install) to the dist dir py2exe created. Optionaly, you can clean the share\locale dir to include only the locales you need for GTK+. Same thing for share\themes (I left both Default and MS-Windows).
If you are using kiwi, you will also have to copy the contents of the (path to python)/share/kiwi directory (and (path to python)/share/gazpacho, if you used gazpacho) to the dist dir. And you will have to create an empty 'kiwi' directory in the dist/pixmaps directory that you just copied there. (note: I have not tested kiwi with the Innosetup installer, but if you try it and it works edit this page and remove this note )
Note you'll want to set the working directory (Start in:) for any shortcut you create to the application directory containing the executable.
(Optional) an Innosetup .iss file to create an installer for handytool:
[Setup] AppName=handytool AppVerName=handytool 1.0 AppPublisher=me AppPublisherURL=http://www.localhost.me DefaultDirName={pf}\handytool DefaultGroupName=handytool DisableProgramGroupPage=true OutputBaseFilename=setup Compression=lzma SolidCompression=true AllowUNCPath=false VersionInfoVersion=1.0 VersionInfoCompany=me inc VersionInfoDescription=handytool PrivilegeRequired=admin [Dirs] Name: {app}; Flags: uninsalwaysuninstall; [Files] Source: dist\*; DestDir: {app}; Flags: ignoreversion recursesubdirs createallsubdirs [Icons] Name: {group}\handytool; Filename: {app}\handytool.exe; WorkingDir: {app} [Run] Filename: {app}\handytool.exe; Description: {cm:LaunchProgram,handytool}; Flags: nowait postinstall skipifsilent
This Recipe has been tested with:
[http://www.microsoft.com/ Windows XP SP2]
[http://www.python.org/download/ Python 2.4.3]
[http://gladewin32.sourceforge.net/modules/wfdownloads/ gtk-win32 2.8.14-rc1]
[http://www.mapr.ucl.ac.be/~gustin/win32_ports/pygtk.html pycairo 1.0.2-1]
[http://www.mapr.ucl.ac.be/~gustin/win32_ports/pygtk.html pygtk 2.8.4-1]
[http://www.async.com.br/projects/kiwi/ kiwi 1.9.20] optional
[http://www.py2exe.org/ py2exe 0.6.5]
[http://www.jrsoftware.org/isinfo.php Inno Setup 5.1.6]