[Pythonmac-SIG] Opening an app from another app under different OSX versions -- SOLVED

David Woods dwoods at wcer.wisc.edu
Thu Jan 25 19:41:29 CET 2007


> On 1/24/07, David Woods <dwoods at wcer.wisc.edu> wrote:
> > > > Adding the path didn't help.  Calling "open -a 
> TransanaHelp.app" 
> > > > from the command line finds the app, and adding the full path 
> > > > makes
> > > is start
> > > > a bit
> > > > faster.  But when the same call is made from within my
> > > bundled Python
> > > > program (regardless of whether the path is included), I see the 
> > > > following in the console:
> > > >
> > > > 'import site' failed; use -v for traceback
> > > > Traceback (most recent call last):
> > > >   File 
> "/Applications/Transana_2/TransanaHelp.app/Contents/MacOS/
> > > > TransanaHelp",
> > > > line 3, in ?
> > > >     import sys, os
> > > > ImportError: No module named os
> > > >
> > > > So it seems, if I'm interpreting this right, like Python's not 
> > > > able to find its own modules under this particular 
> scenario.  Line 
> > > > 3 of TransanaHelp.py,
> > > > by the way, is not the import statement shown here.  That
> > > line 3 is
> > > > of some
> > > > internal Python routine that's not part of my code.
> > >
> > > I had a problem like this when first moving from distutils-based 
> > > setup files to setuptools-based setup files.  Getting the latest 
> > > version of py2app may help.
> > >
> > > --Dethe
> >
> > Upgrading to py2app 0.3.5 had absolutely no effect.
> >
> 
> It's *probably* because py2app sets a lot of environment 
> variables that can effect child Python interpreters... Try 
> clearing out any PY* environment variables sometime early in 
> your script.
> 
> -bob


Bob,

That was indeed the source of the problem.  I now delete the PYTHONHOME,
PYTHONPATH, and PYTHONEXECUTABLE environment variables before the
os.system() call and the Help application shows up as it should. 

Am I likely to see side-effects from deleting these environment variables?
Should I restore them to their original values after the Help call has been
made?

Thanks a ton for your help.  I *NEVER* would've figure this one out.

David



More information about the Pythonmac-SIG mailing list