PIL/Tkinter problem on Solaris
Tom Loredo
loredo at spacenet.tn.cornell.edu
Wed Jun 23 18:33:52 EDT 1999
Hi folks-
I've been using Python 1.5.2 on Solaris, and everything has been
going fine until I tried to use piddleTK and ImageTk. After installing
PIL and Piddle, running the piddleTK "sample1.py" file (with the
required .gif file on hand) gives this traceback:
PIL imported!
Traceback (innermost last):
File "pd_test.py", line 62, in ?
test()
File "pd_test.py", line 57, in test
sample1(canvas)
File "pd_test.py", line 52, in sample1
canvas.drawImage( i, 5, 220)
File "/home/laplace/lib/python1.5/site-packages/piddle/piddleTK.py", line 320,
in drawImage
itk = ImageTk.PhotoImage(img)
File "/home/laplace/lib/python1.5/site-packages/PIL/ImageTk.py", line 83, in
__init__
self.paste(image)
File "/home/laplace/lib/python1.5/site-packages/PIL/ImageTk.py", line 113, in
paste
self.__photo.tk.call("PyImagingPhoto", self.__photo, block.id)
TclError: invalid command name "PyImagingPhoto"
I understand that this is a reported bug for PIL, but I've followed
the instructions in the PIL README and 1.5.2 Setup files to make
sure the Tcl command "PyImagingPhoto" is registered, yet it doesn't
seem to have happened. By the way, this was done after a "make clean".
Any clues as to what else I should change?
Thanks in advance,
Tom Loredo
PS: I tried recompiling python both with the included tkappinit.c file,
and with one slightly modified. The one provided with 1.5.2 has this
line in the WITH_PIL section:
extern void TkImaging_Init(Tcl_Interp *);
but the PIL README says it should look like this:
extern void TkImaging_Init(Tcl_Interp* interp);
Both versions give the same error.
More information about the Python-list
mailing list