Chris--I thought I had mailed this Friday, but it never appeared in image-sig, so here goes again. I'll continue with the interleaved response-style. Thanks for the help--for my part, I'm working through K&R, hoping that this will teach me enough about compiling and linking C to puzzle out why this package isn't installing seamlessly.
Mark >Mark Twenhafel wrote: >>* Try adding *>>* *>>* print Image.core.__file__ *>>* *>>* to your script and make sure that the output is what you expect. *> >what was the result of that? redpoint:~/sandbox/python/persfin1 mark$ python Python 2.6.2 (r262:71600, Apr 16 2009, 09:17:39) [GCC 4.0.1 (Apple Computer, Inc. build 5250)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> import Image >>> print Image.core.__file__ /Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/PIL/_imaging.so >>> > >>* At this point, my working hypothesis is that I did not install libjpeg *>>* correctly. I'm working on OS X Tiger. What I did was download *>>* "jpegsrc.v8a.tar.gz"; double-click in my download window in Firefox to *>>* untar; move the untarred "jpeg-8" folder to /Application; open Terminal *>>* and cd'ed to /Applications/jpeg-8; finally, I ran "./configure", "make", *>>* and "make install". *>>* *>>* It could be--and I don't know--that this install procedure did not *>>* correctly add libjpeg to my Python 2.6 installation *> >no it wouldn't have done that. > >*> or that I need to *>>* rebuild site-packages/PIL/_imaging.so in order to link-in libjpeg. *> >indeed you do. > >>* Belated point of clarification: I subsequently installed PIL using the *>>* these instructions: *>>* $ cd Imaging-1.1.7 *>>* $ python setup.py build_ext -i *>>* $ python selftest.py *> >that should have built a new PIL, but it won't have installed it. > >Did the selftest run OK? redpoint:/Applications/Imaging-1.1.7 mark$ python selftest.py -------------------------------------------------------------------- PIL 1.1.7 TEST SUMMARY -------------------------------------------------------------------- Python modules loaded from ./PIL Binary modules loaded from ./PIL -------------------------------------------------------------------- --- PIL CORE support ok --- TKINTER support ok --- JPEG support ok --- ZLIB (PNG/ZIP) support ok --- FREETYPE2 support ok *** LITTLECMS support not installed -------------------------------------------------------------------- Running selftest: --- 57 tests passed. redpoint:/Applications/Imaging-1.1.7 mark$ > >>* I just noticed that the file "site-packages/PIL/_imaging.so" was created *>>* last October. *> >which is why you are getting an old one here. The last few lines of a long listing of PIL follow: -rw-r--r-- 1 root admin 3047 Oct 11 2009 XpmImagePlugin.pyc -rw-r--r-- 1 root admin 231 Dec 3 2006 __init__.py -rw-r--r-- 1 root admin 180 Oct 11 2009 __init__.pyc -rw-r--r-- 1 root admin 1406408 Oct 11 2009 _imaging.so -rw-r--r-- 1 root admin 87420 Oct 11 2009 _imagingft.so -rw-r--r-- 1 root admin 89240 Oct 11 2009 _imagingmath.so -rw-r--r-- 1 root admin 54056 Oct 11 2009 _imagingtk.so redpoint:/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/PIL mark$ > >>* If so, would be be possible or likely that this was built *>>* using the version of libjpeg that didn't install on my machine? *> >yup. > >>* If this *>>* is correct, what is the best way to proceed? My first inclination is to *>>* delete the directory site-packages/PIL and reinstall. *> >yup -- you may not even need to delete, but it won't hurt. > >Take a look for a new _imaging.so that you should have just built. If >you really want to know what it's linked to, try: > >$ otool -L _imaging.so Interpreting this is beyond me, at this point: redpoint:/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/PIL mark$ otool -L _imaging.so _imaging.so: /usr/local/lib/libjpeg.7.dylib (compatibility version 8.0.0, current version 8.0.0) /opt/local/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.3) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 88.3.9) redpoint:/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/PIL mark$ > >But you might just do: > >setup.py install > >and see if it now works. The following code still produces the following exception: redpoint:~/sandbox/python/persfin1 mark$ cat ./mwm.py #!/usr/local/bin/python from Tkinter import * import Image import ImageTk class Application(Frame): def __init__(self, master=None): Frame.__init__(self, master) self.grid() self.createWidgets() def createWidgets(self): self.cnv = Canvas(self) self.img = ImageTk.PhotoImage(Image.open("/Applications/Imaging-1.1.7/Images/lena.jpg")) cvnitem = self.cnv.create_image(100, 100, image=self.img) self.cnv.grid() app = Application() app.master.title("Sample application") app.mainloop() redpoint:~/sandbox/python/persfin1 mark$ ./mwm.py Traceback (most recent call last): File "./mwm.py", line 18, in <module> app = Application() File "./mwm.py", line 10, in __init__ self.createWidgets() File "./mwm.py", line 14, in createWidgets self.img = ImageTk.PhotoImage(Image.open("/Applications/Imaging-1.1.7/Images/lena.jpg")) File "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/PIL/ImageTk.py", line 116, in __init__ self.paste(image) File "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/PIL/ImageTk.py", line 166, in paste im.load() File "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/PIL/ImageFile.py", line 180, in load d = Image._getdecoder(self.mode, d, a, self.decoderconfig) File "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/PIL/Image.py", line 375, in _getdecoder raise IOError("decoder %s not available" % decoder_name) IOError: decoder jpeg not available redpoint:~/sandbox/python/persfin1 mark$ > >We really do need to get a Mac binary built! > >-CHB > > > > > >-- >Christopher Barker, Ph.D. >Oceanographer > >Emergency Response Division >NOAA/NOS/OR&R (206) 526-6959 voice >7600 Sand Point Way NE (206) 526-6329 fax >Seattle, WA 98115 (206) 526-6317 main reception > >Chris.Barker at noaa.gov <http://mail.python.org/mailman/listinfo/image-sig> > Thanks to anyone looking at this. Like I said, I want to get this running, but I'm not asking anyone to do my own debugging. I'll keep hacking away at this at my level. Mark
_______________________________________________ Image-SIG maillist - Image-SIG@python.org http://mail.python.org/mailman/listinfo/image-sig