[Windows] Pygtk2 incompatible with Stackless

Lorenzo Gatti gatti at dsdata.it
Mon Mar 29 15:02:59 CEST 2004

Last weekend I tried to install Pygtk2 on Windows. I succeeded
(maybe), but I discovered a likely bug.
I have Windows 2000, Python 2.3.3 (with ActivePython installed after
the normal version) and a recent Stackless 3.0 python23.dll.
I think I've chosen correct and matching versions of GTK2 (Dropline
distribution 2.2.4-2) and Pygtk2 (pygtk 2.2.0-1.win32-py2.3.exe).
I installed both in the default locations (pygtk in site-packages,
GTK2 in c:\programmi\file comuni\gtk).
Then I added c:\programmi\file comuni\gtk\lib to the PATH to load GTK2
libraries, I added %PATH% to the PYTHONPATH environment variable
(previously empty) to load the GTK libraries from Python too, and with
advice from Microsoft Dependency Walker I rearranged PATH because a
mismatched iconv.dll from ActiveTcl was loaded instead of the GTK2
I had an unrelated installation problem: the pygtk initialization code
looks for directory names like "gtk-2.0" and there is one such
directory in the GTK installation. This directory is assumed to be the
pygtk installation subdirectory for GTK 2.0. Instead of hacking pygtk
I copied the files there.

After all this entertainment I could import the whole family of
modules and call pygtk.require("2.0") without errors, but I had a

Python 2.3.3 Stackless 3.0 040324 (#51, Mar 24 2004, 18:07:02) [MSC
v.1200 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import gtk
>>> gtk.Window()
Traceback (most recent call last):
  File "<stdin>", line 1, in ?
RuntimeError: more keyword list entries than argument specifiers

This cryptic message comes from getargs.c and appears to be an
incorrect specification of some function in Pygtk, but it isn't.
Reverting to the normal python23.dll the result appears correct:

Python 2.3.3 (#51, Dec 18 2003, 20:22:39) [MSC v.1200 32 bit (Intel)]
on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import gtk
>>> gtk.Window()

(:540): Gtk-WARNING **: Impossibile trovare il gestore dei temi in
module_path: "wimp",
<gtk.Window object (GtkWindow) at 0x7ef030>

The only configuration difference between the two transcripts is a
replaced c:\winnt\system32\python23.dll.

Like most users, I have little need to use Stackless Python and Pygtk
at the same time, but this issue can be worth investigating for the
Stackless and/or Pygtk2 developers.

Lorenzo Gatti

More information about the Python-list mailing list