Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Newer
Older
100644 179 lines (128 sloc) 7.474 kb
8954b91 @dieterv prepare the README file for the first public release
authored
1 =================================
2 About the pygtk-installer project
3 =================================
5fcfef1 @dieterv Fix TARGETDIR handling...
authored
4
8954b91 @dieterv prepare the README file for the first public release
authored
5 The pygtk-installer project provides a set of tools to build the PyGTK
6 All-in-one installer and it's various dependencies.
7 There are currently versions of the PyGTK All-in-one installer supporting 32 bit
8 versions of Python 2.6 and Python 2.7.
9
10 Included tools:
11
12 - build_glade.sh: a tool that builds glade3 binaries for mswindows with
13 "Python Widgets Support" for each supported Python version.
14 - build_bindings.sh: a tool that builds windows installer packages (both .exe
15 and .msi) for pycairo, pygobject, pygtk, pygoocanvas, pygtksourceview and
16 pyrsvg for each supported Python version.
17 - build_installer.py: a tool that generates the all-in-one installer bundling
18 the separate .msi installers created by build_bindings.sh, the glade binaries
19 created by build_glade.sh and various GTK+ runtime packages from
20 ftp.gnome.org/pub/GNOME/binaries/win32/.
5fcfef1 @dieterv Fix TARGETDIR handling...
authored
21
27ca365 @dieterv Huge improvements in:
authored
22 ====================================
23 Using the PyGTK All-in-one installer
24 ====================================
5c4ed97 @dieterv first commit
authored
25
27ca365 @dieterv Huge improvements in:
authored
26 The PyGTK All-in-one version number
27 ===================================
5fcfef1 @dieterv Fix TARGETDIR handling...
authored
28
8954b91 @dieterv prepare the README file for the first public release
authored
29 The PyGTK All-in-one installers' version number does not map directly to the
30 PyGTK version number. This is a requirement to support windows installer
27ca365 @dieterv Huge improvements in:
authored
31 major upgrades. The version number is constructed as follows::
5c4ed97 @dieterv first commit
authored
32
27ca365 @dieterv Huge improvements in:
authored
33 PYGTK_MAJOR.PYGTK_MINOR.INSTALLER_REVISION
34
35 Stable releases are kept available for download, testing revisions are removed
36 from the download area once they are superseded by newer versions.
37
38 What file should I use?
39 =======================
40
41 All the .msi files are named as follows:
42
3078698 @dieterv Update README and TODO file
authored
43 pygtk-all-in-one-X.X.X.winYY-pyZ.Z.msi
27ca365 @dieterv Huge improvements in:
authored
44
3078698 @dieterv Update README and TODO file
authored
45 Where X.X.X is the PyGTK All-in-one version number, YY is 32 or 64 and
46 Z.Z is the Python version number the installer supports.
47
48 You need to make sure both YY and Z.Z correspond to the version of the Python
49 interpreter that's installed on your system.
27ca365 @dieterv Huge improvements in:
authored
50
8954b91 @dieterv prepare the README file for the first public release
authored
51 Migrating from PyGTK+PyGObject+PyCairo packages
27ca365 @dieterv Huge improvements in:
authored
52 ===============================================
53
8954b91 @dieterv prepare the README file for the first public release
authored
54 If you have used some or all of the separate PyGTK, PyGObject, PyGooCanvas,
55 PyGtkSourceView2, PyRsvg and PyCairo packages before, please ensure they are
56 uninstalled before you begin with the PyGTK All-in-one installer.
27ca365 @dieterv Huge improvements in:
authored
57
58 The all-in-one installer does not check for their presence and will happily
59 overwrite files that belong to the separate packages. If you forget to check
60 for this you risk the following scenario:
61
62 - install Python
8954b91 @dieterv prepare the README file for the first public release
authored
63 - install PyCairo, PyGTK and PyGObject
64 - install PyGTK All-in-one
65 - uninstall PyCairo, PyGTK and PyGObject
27ca365 @dieterv Huge improvements in:
authored
66 you now have a *broken* pygtk all-in-one installation
67
8954b91 @dieterv prepare the README file for the first public release
authored
68 This would also be a good time to remove the GTK+ runtime you've used with the
69 separate PyG* packages and to clean your PATH environment variable.
3078698 @dieterv Update README and TODO file
authored
70
8954b91 @dieterv prepare the README file for the first public release
authored
71 Note that the PyCaio, PyGObject, PyGTK, PyGoocanvas, PyGtkSourceView2 and PyRsvg
3078698 @dieterv Update README and TODO file
authored
72 .exe installers (like any other .exe installer generated by distutils) sometimes
73 leaves things behind when you uninstall them.
27ca365 @dieterv Huge improvements in:
authored
74
3078698 @dieterv Update README and TODO file
authored
75 Default installation
76 ====================
27ca365 @dieterv Huge improvements in:
authored
77
3078698 @dieterv Update README and TODO file
authored
78 A default PyGTK All-in-one installation automatically detects the correct
27ca365 @dieterv Huge improvements in:
authored
79 Python installation directory and if Python was installed for all users or just
80 yourself. These values are then used by the PyGTK All-in-one installer.
3078698 @dieterv Update README and TODO file
authored
81 To start a default PyGTK All-in-one installation, simply double click the
82 .msi file or execute the following command from a Command Prompt (cmd.exe)::
27ca365 @dieterv Huge improvements in:
authored
83
3078698 @dieterv Update README and TODO file
authored
84 %WINDIR%\system32\msiexec.exe /i pygtk-all-in-one-X.X.X.winYY-pyZ.Z.msi
27ca365 @dieterv Huge improvements in:
authored
85
3078698 @dieterv Update README and TODO file
authored
86 Custom installation
87 ===================
27ca365 @dieterv Huge improvements in:
authored
88
3078698 @dieterv Update README and TODO file
authored
89 Like any other Windows Installer package, you can change how PyGTK All-in-one
eb3ec96 @dieterv clarify msiexec "parameters"
authored
90 will be installed on you system by passing parameters (setting public properties
91 for those familiar with windows installer). Execute `msiexec /help` for a list
92 of options supported for all .msi installation packages.
27ca365 @dieterv Huge improvements in:
authored
93
3078698 @dieterv Update README and TODO file
authored
94 Target directory
95 ----------------
5fcfef1 @dieterv Fix TARGETDIR handling...
authored
96
3078698 @dieterv Update README and TODO file
authored
97 The TARGETDIR property determines the root directory of the PyGTK All-in-one
98 installation. If this property is set, the PyGTK All-in-one installer does
99 not automatically detect the installation directory of the Python interpreter
100 installed on you system. For example, a custom installation directory can be
101 specified with::
102
103 TARGETDIR=R:\pythonX
104
8954b91 @dieterv prepare the README file for the first public release
authored
105 Before you set a custom TARGETDIR property, you need to make sure both python.exe
106 and pythonw.exe exist in that directory or the installation will fail.
107
3078698 @dieterv Update README and TODO file
authored
108 Installation for All Users
109 --------------------------
110
111 The ALLUSERS property determines if PyGTK All-in-one should be installed for
112 all users, or only for the user that initiated the installation. If you want
113 to install for all users, set the ALLUSERS property to "1"::
114
115 ALLUSERS=1
116
117 If you want to install for the current user only, you should not specify the
118 ALLUSERS property at all. Hence, a per user installation is the default installation
119 mode for custom installations. Note that "1" is the only valid value for the
120 ALLUSERS property!
121
8954b91 @dieterv prepare the README file for the first public release
authored
122 You need to combine this property with the TARGETDIR property. Setting ALLUSERS
123 disables the automatic Python interpreter detection.
3078698 @dieterv Update README and TODO file
authored
124
125 Feature Selection
126 -----------------
127
128 The INSTALLLEVEL property determines what features are going to be installed. If
129 the INSTALLLEVEL property is not set, it's value defaults to 1 which causes a
8954b91 @dieterv prepare the README file for the first public release
authored
130 basic set of features to be installed (GTK+ runtime, PyGTK, PyGObject and PyCairo)
3078698 @dieterv Update README and TODO file
authored
131
132 If you set INSTALLLEVEL to 2 (or any number greater than 2), you instruct the
133 installer to do a "complete" installation (all features will be installed).
134
135 There is another method to control what features should be installed by controlling
136 the ADDLOCAL, REMOVE, ADDDEFAULT, REINSTALL, etc properties. Check MSDN for more
137 details.
138
139 Other msiexec options
140 ---------------------
141
8954b91 @dieterv prepare the README file for the first public release
authored
142 Take note that if the PyGTK All-in-one installer is run with no or a basic
143 UI (/q[n|b]) the automatic Python installation detection is skipped. In this
3078698 @dieterv Update README and TODO file
authored
144 case setting the TARGETDIR property is required. You can also set the ALLUSERS
145 property if you want a system wide installation.
146
147 The PATH environment variable
5fcfef1 @dieterv Fix TARGETDIR handling...
authored
148 =============================
149
3078698 @dieterv Update README and TODO file
authored
150 The PyGTK All-in-one installer does not require you to fiddle with the PATH
8954b91 @dieterv prepare the README file for the first public release
authored
151 environment variable. The PyGTK version that's installed with the all-in-one
152 installer takes care of loading the bundled GTK+ runtime on the PATH environment
3078698 @dieterv Update README and TODO file
authored
153 variable on interpreter startup. As a consequence simply importing gobject,
8954b91 @dieterv prepare the README file for the first public release
authored
154 gtk, etc works out of the box. As an added advantage there is no possible way
155 multiple GTK+ runtime versions on your system or user PATH environment variable
156 can interfere with PyGTK All-in-one.
5fcfef1 @dieterv Fix TARGETDIR handling...
authored
157
3078698 @dieterv Update README and TODO file
authored
158 Getting help
159 ============
5fcfef1 @dieterv Fix TARGETDIR handling...
authored
160
3078698 @dieterv Update README and TODO file
authored
161 If something doesn't work as expected, you'll need to generate a couple of log
162 files before you'll be able to get help. It is simply impossible to determine
163 why something went wrong without those log files!
5fcfef1 @dieterv Fix TARGETDIR handling...
authored
164
3078698 @dieterv Update README and TODO file
authored
165 If something went wrong when installing, you'll need both
5fcfef1 @dieterv Fix TARGETDIR handling...
authored
166
3078698 @dieterv Update README and TODO file
authored
167 - An installation log (install.log). Execute the following command from a Command Prompt (cmd.exe)::
5fcfef1 @dieterv Fix TARGETDIR handling...
authored
168
3078698 @dieterv Update README and TODO file
authored
169 %WINDIR%\system32\msiexec.exe -i pygtk-all-in-one-X.X.X.winYY-pyZ.Z.msi /l*vx install.log
5fcfef1 @dieterv Fix TARGETDIR handling...
authored
170
3078698 @dieterv Update README and TODO file
authored
171 - An execution log (import.log). Execute the following command from a Command Prompt (cmd.exe)::
5fcfef1 @dieterv Fix TARGETDIR handling...
authored
172
3078698 @dieterv Update README and TODO file
authored
173 python -v -c "import gtk">import.log 2>&1
5fcfef1 @dieterv Fix TARGETDIR handling...
authored
174
3078698 @dieterv Update README and TODO file
authored
175 If something went wrong when uninstalling, you'll need an unistall log. Execute
176 the following command from a Command Prompt (cmd.exe)::
5fcfef1 @dieterv Fix TARGETDIR handling...
authored
177
3078698 @dieterv Update README and TODO file
authored
178 %WINDIR%\system32\msiexec.exe -x pygtk-all-in-one-X.X.X.winYY-pyZ.Z.msi /l*vx uninstall.log
Something went wrong with that request. Please try again.