[Pythonmac-SIG] Trying to make an app
bob at redivi.com
Wed Oct 6 19:04:39 CEST 2004
On Oct 6, 2004, at 12:44 PM, Steven Palm wrote:
> On Oct 6, 2004, at 10:59 AM, Bob Ippolito wrote:
>> On Oct 6, 2004, at 11:39 AM, Steven Palm wrote:
>>> Even though the `resource` files are where they are supposed to be,
>>> I still get an error on running the program about recursion errors
>>> and that it cannot find it's resource files.
>> This is probably a bug in your program.. without any more information
>> I can't help you. The current directory of a py2app bundle is the
>> Resources folder, so open('resources/mydatafile') will just work
>> unless you do a chdir.
> Hmmm... Here is where it's looking... It initially does this when
> one of the modules loads:
> # Where to find bitmaps etc
> if os.path.isfile(p): # zip importer in action
> resourcedirectory=os.path.abspath(os.path.join(p, 'resources'))
> And then later when trying to load them it uses:
> os.path.join(resourcedirectory, filename)
> So the difference in invocation between the bundlebuuilder-built
> application bundle and the py2app-built application bundle is causing
> a problem with finding the path where we are being run from, at least
> in the way that BitPim is trying to find it in the above code. Anyway,
> that's something for me to worry about. ;^)
Ok so don't do that! Your application is trying to be too tricky.
sys.path is going to point to the os.path.dirname(sys.argv),
which is the bootstrap executable. sys.path is Resources, though.
If you want to see all stuff you need to know about look at
examples/simple/ .. it is a program that prints out sys.executable,
You start in the Resources folder, so just do:
More information about the Pythonmac-SIG