[Pythonmac-SIG] easy_install pyobjc: what about pyobjctools

Bob Ippolito bob at redivi.com
Thu Sep 28 21:12:16 CEST 2006


On 9/28/06, Michael Glassford <glassfordm at gmail.com> wrote:
> Bob Ippolito wrote:
> > On 9/28/06, Michael Glassford <glassfordm at gmail.com> wrote:
> >> Bob Ippolito wrote:
> >> > On 9/28/06, Michael Glassford <glassfordm at gmail.com> wrote:
> >> >> Bob Ippolito wrote:
> >> >>> On 9/28/06, Michael Glassford <glassfordm at hotmail.com> wrote:
> >> >>>> I've just installed Python 2.5, then installed py2app and pyobjc
> >> using
> >> >>>> easy_install. My application built just fine, but when I run it
> >> I get
> >> >>>> the error "ImportError: No module named PyObjCTools" when it
> >> tries to
> >> >>>> execute the line "from PyObjCTools import AppHelper". How does
> >> >>>> PyObjCTools get installed when easy_installing pyobjc?
> >> >>> You are probably using easy_install frrom a different version of
> >> Python.
> >> >>>
> >> >>> -bob
> >> >>> _______________________________________________
> >> >>> Pythonmac-SIG maillist  -  Pythonmac-SIG at python.org
> >> >>> http://mail.python.org/mailman/listinfo/pythonmac-sig
> >> >>>
> >> >> If I understand what you mean correctly, which is that I'm running
> >> the
> >> >> easy_install that's in my Python2.4 installation so it's installing
> >> >> py2app and pyobjc in my Python2.4 directories, I don't think so:
> >> >>
> >> >> 1) My PATH looks like this:
> >> >>
> >> "/Library/Frameworks/Python.framework/Versions/2.5/bin/:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin".
> >>
> >> >>    The correct version of easy_install is in the first directory
> >> in the
> >> >> PATH.
> >> >>
> >> >> 2) If I use "easy_install-2.5 py2app" and "easy_install-2.5 py2objc"I
> >> >> get the same result.
> >> >>
> >> >>
> >> >> Here's the output when I run the two commands, in case anything
> >> stands
> >> >> out to you:
> >> >>
> >> >>
> >> >>
> >> >> Computer:/users/build/develop/ build$ sudo easy_install py2app
> >> >> Password:
> >> >> Searching for py2app
> >> >> Best match: py2app 0.3.4
> >> >> Processing py2app-0.3.4-py2.5.egg
> >> >> py2app 0.3.4 is already the active version in easy-install.pth
> >> >> Installing py2applet script to
> >> >> /Library/Frameworks/Python.framework/Versions/2.5/bin
> >> >>
> >> >> Using
> >> >>
> >> /Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/py2app-0.3.4-py2.5.egg
> >>
> >> >> Processing dependencies for py2app
> >> >>
> >> >>
> >> >>
> >> >> Computer:/users/build/develop/ build$ sudo easy_install pyobjc
> >> >> Searching for pyobjc
> >> >> Best match: pyobjc 1.4
> >> >> Processing pyobjc-1.4-py2.5-macosx-10.3-fat.egg
> >> >> pyobjc 1.4 is already the active version in easy-install.pth
> >> >> Installing nibclassbuilder script to
> >> >> /Library/Frameworks/Python.framework/Versions/2.5/bin
> >> >>
> >> >> Using
> >> >>
> >> /Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/pyobjc-1.4-py2.5-macosx-10.3-fat.egg
> >>
> >> >> Processing dependencies for pyobjc
> >> >>
> >> >
> >> > I don't know then, it works fine with Python 2.4. Ronald?
> >> >
> >> > -bob
> >> > _______________________________________________
> >> > Pythonmac-SIG maillist  -  Pythonmac-SIG at python.org
> >> > http://mail.python.org/mailman/listinfo/pythonmac-sig
> >> >
> >>
> >> Here's a clue: I looked in
> >> /Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/
> >>
> >> and noticed that while some of the eggs were unzipped (i.e. they were
> >> directories), pyobjc-1.4-py2.5-macosx-10.3-fat.egg was not (i.e. it was
> >> a file). I manually unzipped it to see if it contained PyObjCTools and
> >> it did. Then I replaced the "pyobjc-1.4-py2.5-macosx-10.3-fat.egg" file
> >> with the "pyobjc-1.4-py2.5-macosx-10.3-fat.egg" directory and tried
> >> again. It worked.
> >>
> >> After a bit of further investigation, the problem appears to be that
> >> py2app isn't correctly finding stuff that's in a zipped egg file, so
> >> that stuff is never being included in the py2app application's
> >> site-packages.zip file. Should it? Or should the eggs all be unzipped
> >> when they're installed? Maybe I have the wrong version of something?
> >
> > py2app is not compatible with zipped eggs at this time.
> >
> > -bob
> >
> OK. Couldn't the PyObjC egg be set to unzip by default, then? Or could
> py2app display a warning if there are zipped eggs (or at the very least
> if the PyObjC egg is zipped)?

Making the egg unzip by default is easy, but using "easy_install -Z
pyobjc" is a workaround until that happens (you may need to delete the
current egg).

Changing py2app is not so easy... or rather, the effort that goes into
determining that a zip is required is nearly the same as the effort
required to support zipped eggs, so it would be silly to display a
warning instead of creating a working app.

-bob


More information about the Pythonmac-SIG mailing list