opensubscriber
   Find in this group all groups
 
Unknown more information…

p : pythonmac-sig@python.org 10 October 2011 • 10:44PM -0400

Re: [Pythonmac-SIG] AppKit ImportError (was py2app: ImportError)
by Sean Robinson

REPLY TO AUTHOR
 
REPLY TO GROUP




On 10/08/2011 07:36 AM, Ronald Oussoren wrote:
>
> On 6 Oct, 2011, at 22:35, Sean Robinson wrote:
>
>> On 10/06/2011 07:54 AM, Ronald Oussoren wrote:
>>>
>>>> On 6 Oct, 2011, at 16:51, Sean Robinson wrote:
>>>>
>>>>
>>>> Yes, my actual project had the same structure with a module and package with the same name.  This had not been a problem elsewhere, but I can see why it does not work with py2app.  So, I'll make sure to avoid a name collision between my init module and all packages, which sounds like a good practice to follow anyway.
>>>>
>>>> Thank you for your help.  My bundled app is running.  Now to find why AppKit isn't importing…
>>>
>>> I've just pushed a partial fix to the repository, this fixes the issue for regular builds but not yet for '--alias' builds.  Your code was very helpful in finding the cause of the issue, and while writing a testcase for this problem.
>>>
>>> W.r.t. to AppKit not importing, does it import outside of the app bundle?
>>>
>>
>> My script works as 'python quot.py' and now I am trying to bundle it up for my users to be able to click and run.  So, yes, from Terminal, AppKit imports correctly and the AppKit.NSSound module works well.
>>
>> Looking at the various logs reported by py2app, it does not appear that the needed dirs are added to the app bundle's sys.path.  The follow process creates a failing AppKit import from the app bundle for me and shows different sys.path for 'python quot.py' vs app bundle launch.  I can provide much more detail (including modulegraph debug output) if requested, but the following steps in a Terminal window can reproduce the error for me every time.
>>
>> $ echo "import sys">>  quot.py
>> $ echo "print sys.path">>  quot.py
>> $ echo "import AppKit">>  quot.py
>> $ cat quot.py
>> import sys
>> print sys.path
>> import AppKit
>>
>> $ py2applet --make-setup quot.py
>> Wrote setup.py
>>
>> $ python quot.py
>> NOTE: list of dirs in path
>>
>> $ rm -rf build dist&&  python setup.py py2app
>> running py2app
>>
>> $ open -a quot
>> NOTE: Error window appears and output is captured in Console which can be condensed to "ImportError: No module named AppKit".
>>
>>
>> I believe I can overcome this error by finding the right path(s) to append to the app bundle's sys.path, but I'm surprised that py2app does not do this automagically.
>
> py2app should do this automaticly.  What version of python do you use? Is that a custom install or the system version of python? And finally, which OSX version are you using?
>

This is on OSX 10.6.8, using the system version of Python 2.6.1.  The
only non-standard packages/modules are py2app (0.6.4 pre-release and its
requirements) installed local to the user account.  I am developing as
vanilla as I can get.

--
Sean Robinson
Laboratory Technician
Physics Astronomy Geology
sean.robinson@sccm...
_______________________________________________
Pythonmac-SIG maillist  -  Pythonmac-SIG@pyth...
http://mail.python.org/mailman/listinfo/pythonmac-sig
unsubscribe: http://mail.python.org/mailman/options/Pythonmac-SIG

Bookmark with:

Delicious   Digg   reddit   Facebook   StumbleUpon

Related Messages

opensubscriber is not affiliated with the authors of this message nor responsible for its content.