From charlie.clark at clark-consulting.eu Wed May 2 10:43:22 2012 From: charlie.clark at clark-consulting.eu (Charlie Clark) Date: Wed, 02 May 2012 10:43:22 +0200 Subject: [Pythonmac-SIG] Help with Py2app In-Reply-To: References: Message-ID: Am 30.04.2012, 23:16 Uhr, schrieb Chris Barker : > (dont' forget to include pythonmac-sig -- it's not doen with a standard > reply.) Sorry, I forgot. > On Mon, Apr 30, 2012 at 2:07 PM, Charlie Clark > wrote: > >>> That's a setuptools (or distribute) feature, and should be in the >>> primary setup.py that the main developer uses on other platforms. >> >> Well, where should it go in the existing setup.py? I just tried it in >> the >> args but no joy. > it goes in "requires" somwhere -- check the setuptools docs. Will they work for the existing setup.py? AFAIK it's not really using setuptools. Need to find out where they go to add dependencies for Sphinx for the docs (spent much of yesterday reworking the man2html page to get it work with Sphinx) and Nose for testing (currently hardwired to /usr/local/share in the Makefile). >>>>> python setup.py py2app >>> yup -- a dmg is easy, a one liner, something like: >>> /usr/bin/hdiutil create -srcfolder dist -volname "Name_of_the_volume" >>> -ov "The_name_of_the_file" >>> there is bdist.mpkg, but I think that's only for python packages, not >>> app bundles. >> >> >> Can I add that to my build script? > you can use an os.system callina python script, but I usually jsut run > it separately. > >> I'm now getting the same error as when running the original setup.py >> >> raise TypeError("Don't know how to handle '%s'" % repr(src)) >> TypeError: Don't know how to handle >> ''/Users/charlieclark/Sites/LinkChecker/linkchecker-gui'' > what is link-checker-gui ? It's the GUI wrapper for the command-line tool. > from that error, it looks like neither a module (clearly not - it's > not called *.py) or a package (would be a directory). linkchecker and linkchecker-gui are Python files blessed with executable bits and stripped of their extensions. > Also, it's in your home dir -- so why is it getting found by modulegraph? That's my virtualenv. >> At least I've got it pointing at the right script. So it can't resolve >> the dependencies? > that looks like something else than not finding a dependency. Charlie -- Charlie Clark Managing Director Clark Consulting & Research German Office Kronenstr. 27a D?sseldorf D- 40217 Tel: +49-211-600-3657 Mobile: +49-178-782-6226 From ronaldoussoren at mac.com Wed May 2 11:57:53 2012 From: ronaldoussoren at mac.com (Ronald Oussoren) Date: Wed, 02 May 2012 11:57:53 +0200 Subject: [Pythonmac-SIG] py2app strips symlinks in frameworks, need to keep them In-Reply-To: <4F9E92D7.3080200@codebykevin.com> References: <4F9E92D7.3080200@codebykevin.com> Message-ID: On 30 Apr, 2012, at 15:25, Kevin Walzer wrote: > I've had an app rejected from the Mac App Store because required symlinks were not present in the bundled Python framework: > > Malformed Framework - The framework bundle Python (QuickWho.app/Contents/Frameworks/Python.framework/Versions/2.7) must contain a symbolic link 'Python' -> 'Versions/Current/Python'. Refer to the Anatomy of Framework Bundles for more information. > > Malformed Framework - The framework bundle Python (QuickWho.app/Contents/Frameworks/Python.framework/Versions/2.7) must contain a symbolic link 'Resources' -> 'Versions/Current/Resources'. Refer to the Anatomy of Framework Bundles for more information. > > Malformed Framework - The framework bundle Python (QuickWho.app/Contents/Frameworks/Python.framework/Versions/2.7) 'Versions' directory must contain a symbolic link 'Current' resolving to a specific version directory. Refer to the Anatomy of Framework Bundles for more information. > > These symlinks are present in the original framework on my system, but they appear to be stripped out by py2app. > > Is there a flag I can pass to py2app to retain these symlinks? I can try to add them manually later in my build script, but it's a pain and I'd rather have py2app not strip them out in the first place. That's a lame restriction of the App Store. The "Current" symlink is only used while linking and is useless for embedded frameworks. But as Apple is unlikely to change their requirements because I don't like what they are doing py2app will have create application bundles that follow their requirements. Py2app currently does not have an option to recreate the "Current" symlink when copying frameworks into the application bundle. I've filed a feature request in the py2app tracker that asks to always recreate the "Current" symlink: https://bitbucket.org/ronaldoussoren/py2app/issue/43/add-current-symlink-to-embedded-frameworks Ronald > > --Kevin > > -- > Kevin Walzer > Code by Kevin > http://www.codebykevin.com > _______________________________________________ > Pythonmac-SIG maillist - Pythonmac-SIG at python.org > http://mail.python.org/mailman/listinfo/pythonmac-sig > unsubscribe: http://mail.python.org/mailman/options/Pythonmac-SIG -------------- next part -------------- A non-text attachment was scrubbed... Name: smime.p7s Type: application/pkcs7-signature Size: 4788 bytes Desc: not available URL: From ronaldoussoren at mac.com Wed May 2 11:49:37 2012 From: ronaldoussoren at mac.com (Ronald Oussoren) Date: Wed, 02 May 2012 11:49:37 +0200 Subject: [Pythonmac-SIG] py2app and zlib ... In-Reply-To: References: Message-ID: <91B66604-1B1D-428D-8E4F-7235D62128C6@mac.com> On 29 Apr, 2012, at 8:43, Jonathan Kossick wrote: > Hello, I already worked with py2exe and just started to use py2app. > Actually I have some problems to include the zlib library. Under py2exe I includet the library in the options but under Mac I get this error: > > error: cannot copy tree '/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/gzip.py': not a directory > > Do you have any Idea how to fix this? My setup.py file: > > > from setuptools import setup > APP = ['startr.py'] > DATA_FILES = [] > OPTIONS = {'argv_emulation': True, "packages": ["lxml","gzip"]} Why do you use the packages option? Both py2app and py2exe should be smart enough to find dependencies automaticly when you use import statements that reference them. The error from py2app is too cryptic, but is easy to explain: py2app assumes that anything you mention in the "packages" option is a package, and "gzip" is a module not a package. Changing the OPTIONS definition to the one below should work: OPTIONS = {'argv_emulation': True, "packages": ["lxml"], "include": ["gzip"]} Ronald > > setup( > app=APP, > data_files=DATA_FILES, > options={'py2app': OPTIONS}, > setup_requires=['py2app'], > > name='programm', > ) > _______________________________________________ > Pythonmac-SIG maillist - Pythonmac-SIG at python.org > http://mail.python.org/mailman/listinfo/pythonmac-sig > unsubscribe: http://mail.python.org/mailman/options/Pythonmac-SIG -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: smime.p7s Type: application/pkcs7-signature Size: 4788 bytes Desc: not available URL: From kw at codebykevin.com Wed May 2 14:37:32 2012 From: kw at codebykevin.com (Kevin Walzer) Date: Wed, 02 May 2012 08:37:32 -0400 Subject: [Pythonmac-SIG] py2app strips symlinks in frameworks, need to keep them In-Reply-To: References: <4F9E92D7.3080200@codebykevin.com> Message-ID: <4FA12A8C.1010906@codebykevin.com> Ronald, On 5/2/12 5:57 AM, Ronald Oussoren wrote: > I've filed a feature request in the py2app tracker that asks to always recreate the "Current" symlink:https://bitbucket.org/ronaldoussoren/py2app/issue/43/add-current-symlink-to-embedded-frameworks Thank you. Also, see the earlier e-mail: they also complain about a missing symlink to "Python" and "Resources," so py2app should address that also. I've manually added the symlinks, but it appears that they may be getting stripped out by Apple's upload/app submission tools (I think a zip archive is generated in the process though I can't be sure)--but that's a separate issue I'll have to take up with Apple. :-( Thanks, Kevin -- Kevin Walzer Code by Kevin http://www.codebykevin.com From j.kossick at googlemail.com Thu May 3 14:28:31 2012 From: j.kossick at googlemail.com (Jonathan Kossick) Date: Thu, 3 May 2012 14:28:31 +0200 Subject: [Pythonmac-SIG] (PyQt and py2app) Gui starts in IDLE but not as app ... Message-ID: Hello, my problem is kind of weird. As long as I run my PyQt application in IDLE everything works great but when I build an app by using py2app the gui doesn' t start. I already did a little bit debugging but apparently the application crashes when I want do show the gui (main.show()). The application just stops and there is no useful message ... If i make a really short application which just starts the gui then everything works fine. My application is really big wherefore I dont know where to search the problem first. Why does the problem just appeal if I build the app and not if i start it in IDLE? Where can I start to search the problem? Any ideas? Unfortunately I cant give more informations ... -------------- next part -------------- An HTML attachment was scrubbed... URL: From ronaldoussoren at mac.com Thu May 3 14:48:10 2012 From: ronaldoussoren at mac.com (Ronald Oussoren) Date: Thu, 03 May 2012 14:48:10 +0200 Subject: [Pythonmac-SIG] (PyQt and py2app) Gui starts in IDLE but not as app ... In-Reply-To: References: Message-ID: <142B481B-9508-4FB6-8241-78159040ED88@mac.com> On 3 May, 2012, at 14:28, Jonathan Kossick wrote: > Hello, my problem is kind of weird. > As long as I run my PyQt application in IDLE everything works great but when I build an app by using py2app the gui doesn' t start. > I already did a little bit debugging but apparently the application crashes when I want do show the gui (main.show()). The application just stops and there is no useful message ... > > If i make a really short application which just starts the gui then everything works fine. My application is really big wherefore I dont know where to search the problem first. Why does the problem just appeal if I build the app and not if i start it in IDLE? Where can I start to search the problem? > > Any ideas? Unfortunately I cant give more informations ... You can start the application from the command line and that might give you some more clues. The way to do that for "HelloWorld.app" is to run "HelloWorld.app/Contents/MacOS/HelloWorld" as a normal shell command in the terminal application. Any error messages that get printed during startup are now shown in the terminal window. Ronald > _______________________________________________ > Pythonmac-SIG maillist - Pythonmac-SIG at python.org > http://mail.python.org/mailman/listinfo/pythonmac-sig > unsubscribe: http://mail.python.org/mailman/options/Pythonmac-SIG -------------- next part -------------- A non-text attachment was scrubbed... Name: smime.p7s Type: application/pkcs7-signature Size: 4788 bytes Desc: not available URL: From kw at codebykevin.com Fri May 4 00:53:59 2012 From: kw at codebykevin.com (Kevin Walzer) Date: Thu, 03 May 2012 18:53:59 -0400 Subject: [Pythonmac-SIG] py2app, system Python, and Mac App Store Message-ID: <4FA30C87.2050300@codebykevin.com> My recent difficulties getting a Python app uploaded to the Mac App Store (owing to apparent issues with Apple's uploader, which seems to strip out symlinks in the embedded framework) have prompted me to look at deploying a version of my app linked to the system Python. I've never deployed a semi-standalone app, so I'm not sure what issues to be aware of. How does backward and forward compatibility work? (I'm on Lion.) If I have any extensions that I want wrapped (currently they are in my site-packages dir in /Library/Frameworks/Python), do I need to move them? On a related note, does anyone else have a Python app in the Mac App Store? Have you encountered issues with uploads or approvals? How are you setting up py2app? My recent headaches getting the app uploaded have been a real curveball, because I have had any issues previously. Thanks in advance, Kevin -- Kevin Walzer Code by Kevin http://www.codebykevin.com From j.kossick at googlemail.com Fri May 4 07:18:45 2012 From: j.kossick at googlemail.com (Jonathan Kossick) Date: Fri, 4 May 2012 07:18:45 +0200 Subject: [Pythonmac-SIG] (PyQt and py2app) Gui starts in IDLE but not as app ... In-Reply-To: <142B481B-9508-4FB6-8241-78159040ED88@mac.com> References: <142B481B-9508-4FB6-8241-78159040ED88@mac.com> Message-ID: Thanks a lot! Until now I just used the console. I'm new to python on OS X so I need some time to work me into. There are some interesting error messages: Class QCocoaColorPanelDelegate is implemented in both /Users/User/Desktop/Vokabelprogramm/Mac-Werkstatt/Programm-Ordner/voc2brain.app/Contents/MacOS/../Frameworks/QtGui.framework/Versions/4/QtGui and /Library/Frameworks/QtGui.framework/Versions/4/QtGui. One of the two will be used. Which one is undefined. This message is repeating several times because of different classes. Seemingly the application can't decide if it should use the installed Qt version or the version includet in the application file. While research I read something about install_name_tool but I'm still not sure how to fix the problem. Hope you can help me ... Am Donnerstag, 3. Mai 2012 schrieb Ronald Oussoren : > > On 3 May, 2012, at 14:28, Jonathan Kossick wrote: > > > Hello, my problem is kind of weird. > > As long as I run my PyQt application in IDLE everything works great but > when I build an app by using py2app the gui doesn' t start. > > I already did a little bit debugging but apparently the application > crashes when I want do show the gui (main.show()). The application just > stops and there is no useful message ... > > > > If i make a really short application which just starts the gui then > everything works fine. My application is really big wherefore I dont know > where to search the problem first. Why does the problem just appeal if I > build the app and not if i start it in IDLE? Where can I start to search > the problem? > > > > Any ideas? Unfortunately I cant give more informations ... > > You can start the application from the command line and that might give > you some more clues. The way to do that for "HelloWorld.app" is to run > "HelloWorld.app/Contents/MacOS/HelloWorld" as a normal shell command in > the terminal application. Any error messages that get printed during > startup are now shown in the terminal window. > > Ronald > > > _______________________________________________ > > Pythonmac-SIG maillist - Pythonmac-SIG at python.org > > http://mail.python.org/mailman/listinfo/pythonmac-sig > > unsubscribe: http://mail.python.org/mailman/options/Pythonmac-SIG > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From ronaldoussoren at mac.com Fri May 4 09:25:32 2012 From: ronaldoussoren at mac.com (Ronald Oussoren) Date: Fri, 04 May 2012 09:25:32 +0200 Subject: [Pythonmac-SIG] (PyQt and py2app) Gui starts in IDLE but not as app ... In-Reply-To: References: <142B481B-9508-4FB6-8241-78159040ED88@mac.com> Message-ID: On 4 May, 2012, at 7:18, Jonathan Kossick wrote: > Thanks a lot! Until now I just used the console. I'm new to python on OS X so I need some time to work me into. > > There are some interesting error messages: > > Class QCocoaColorPanelDelegate is implemented in both /Users/User/Desktop/Vokabelprogramm/Mac-Werkstatt/Programm-Ordner/voc2brain.app/Contents/MacOS/../Frameworks/QtGui.framework/Versions/4/QtGui and /Library/Frameworks/QtGui.framework/Versions/4/QtGui. One of the two will be used. Which one is undefined. > > This message is repeating several times because of different classes. Seemingly the application can't decide if it should use the installed Qt version or the version includet in the application file. While research I read something about install_name_tool but I'm still not sure how to fix the problem. > > Hope you can help me ... I'm not sure what is causing this problem. As you noticed the application seems to load both the embedded copy of Qt (as it should) and the system-wide install (which shouldn't be used). This could explain why your program won't start. The py2app respository contains an example that uses PyQt, you can download the two files for this example at . Does this example also fail? And something I completely forgot to ask: which version of Python, PyQt, Qt and Py2app do you use? Is the python version the system installed one or a custom install (and if so, how did you install)? Ronald > > > Am Donnerstag, 3. Mai 2012 schrieb Ronald Oussoren : > > On 3 May, 2012, at 14:28, Jonathan Kossick wrote: > > > Hello, my problem is kind of weird. > > As long as I run my PyQt application in IDLE everything works great but when I build an app by using py2app the gui doesn' t start. > > I already did a little bit debugging but apparently the application crashes when I want do show the gui (main.show()). The application just stops and there is no useful message ... > > > > If i make a really short application which just starts the gui then everything works fine. My application is really big wherefore I dont know where to search the problem first. Why does the problem just appeal if I build the app and not if i start it in IDLE? Where can I start to search the problem? > > > > Any ideas? Unfortunately I cant give more informations ... > > You can start the application from the command line and that might give you some more clues. The way to do that for "HelloWorld.app" is to run "HelloWorld.app/Contents/MacOS/HelloWorld" as a normal shell command in the terminal application. Any error messages that get printed during startup are now shown in the terminal window. > > Ronald > > > _______________________________________________ > > Pythonmac-SIG maillist - Pythonmac-SIG at python.org > > http://mail.python.org/mailman/listinfo/pythonmac-sig > > unsubscribe: http://mail.python.org/mailman/options/Pythonmac-SIG > -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: smime.p7s Type: application/pkcs7-signature Size: 4788 bytes Desc: not available URL: From ronaldoussoren at mac.com Fri May 4 09:32:33 2012 From: ronaldoussoren at mac.com (Ronald Oussoren) Date: Fri, 04 May 2012 09:32:33 +0200 Subject: [Pythonmac-SIG] py2app, system Python, and Mac App Store In-Reply-To: <4FA30C87.2050300@codebykevin.com> References: <4FA30C87.2050300@codebykevin.com> Message-ID: <12901BE2-3B55-4C40-9644-18EA78C77775@mac.com> On 4 May, 2012, at 0:53, Kevin Walzer wrote: > My recent difficulties getting a Python app uploaded to the Mac App Store (owing to apparent issues with Apple's uploader, which seems to strip out symlinks in the embedded framework) That sucks. > have prompted me to look at deploying a version of my app linked to the system Python. I've never deployed a semi-standalone app, so I'm not sure what issues to be aware of. How does backward and forward compatibility work? (I'm on Lion.) If I have any extensions that I want wrapped (currently they are in my site-packages dir in /Library/Frameworks/Python), do I need to move them? --semi-standalone without --site-packages should result in a build that doesn't access your site-packages directory (and that includes /Library/Frameworks/Python). The Apple provided bits are considered part of the stdlib for this (twisted, pyobjc, ...) because they cannot be copied into the application bundle. Apple tends to be fairly careful w.r.t. backward compatibility, but when you create a semi-standalone on Lion it will not necessarily run on Snow Leopard. > > On a related note, does anyone else have a Python app in the Mac App Store? I don't. Ronald -------------- next part -------------- A non-text attachment was scrubbed... Name: smime.p7s Type: application/pkcs7-signature Size: 4788 bytes Desc: not available URL: From kw at codebykevin.com Sat May 5 03:42:09 2012 From: kw at codebykevin.com (Kevin Walzer) Date: Fri, 04 May 2012 21:42:09 -0400 Subject: [Pythonmac-SIG] py2app, system Python, and Mac App Store In-Reply-To: <12901BE2-3B55-4C40-9644-18EA78C77775@mac.com> References: <4FA30C87.2050300@codebykevin.com> <12901BE2-3B55-4C40-9644-18EA78C77775@mac.com> Message-ID: <4FA48571.30006@codebykevin.com> On 5/4/12 3:32 AM, Ronald Oussoren wrote: > --semi-standalone without --site-packages should result in a build that doesn't access your site-packages directory (and that includes /Library/Frameworks/Python). The Apple provided bits are considered part of the stdlib for this (twisted, pyobjc, ...) because they cannot be copied into the application bundle. How do I make sure that binary packages from my site-packages directory are copied into (and found) in the app bundle, in lib-dyload? When I try a semi-standalone build and use the --site-packages flag, my app looks in /System/Library/Frameworks/Python.framework for the modules, and the app crashes. Poking around in the list archives, it seems that this type of configuration for py2app (semi-standalone but using some packages from the site-packages dir) is a bit delicate, though my research hasn't been comprehensive. What are the best practices here? I'm getting quite frustrated with the app store's brain dead auto-scan tool that doesn't see proper symlinks in the framework, and I'm getting to the point where I am going to investigate other packaging tools that don't set up a framework structure--cx_freeze and/or pyinstaller. No blame to py2app here, of course. I appreciate your advice and support. --Kevin -- Kevin Walzer Code by Kevin http://www.codebykevin.com From calderon.christian760 at yahoo.com Sun May 6 13:47:07 2012 From: calderon.christian760 at yahoo.com (Chris Calderon) Date: Sun, 6 May 2012 04:47:07 -0700 (PDT) Subject: [Pythonmac-SIG] Building Python 2.7 with ppc64 Message-ID: <1336304827.59161.YahooMailNeo@web120705.mail.ne1.yahoo.com> Hello All! This is my first time using this mailing list yay! I am having a problem building Python 2.7 for my quad G5 PowerMac, and I was wondering if anyone has any experience doing this? I don't want a 32-bit build, because I have 8 gigs of RAM I want to be able to use. My os is Mac OS x 10.5.8, and I have Xcode 3.1 installed. I tried to build and install like this: ./configure --enable-framework --enable-universalsdk=/ --with-universal-archs=64-bit make make install This installed python, supposedly, but didn't build tkinter or sqlite3, and lots of other stuff didn't build all the way. What should I do ?to get this to install correctly? are their other libraries I need to install first? Has anyone successfully built python 2.7 for ppc64? Thanks for the help! ? En medias res -------------- next part -------------- An HTML attachment was scrubbed... URL: From kw at codebykevin.com Sun May 6 20:01:18 2012 From: kw at codebykevin.com (Kevin Walzer) Date: Sun, 06 May 2012 14:01:18 -0400 Subject: [Pythonmac-SIG] py2app, system Python, and Mac App Store In-Reply-To: <4FA48571.30006@codebykevin.com> References: <4FA30C87.2050300@codebykevin.com> <12901BE2-3B55-4C40-9644-18EA78C77775@mac.com> <4FA48571.30006@codebykevin.com> Message-ID: <4FA6BC6E.7090307@codebykevin.com> On 5/4/12 9:42 PM, Kevin Walzer wrote: > I'm getting quite frustrated with the app store's brain dead auto-scan > tool that doesn't see proper symlinks in the framework, and I'm getting > to the point where I am going to investigate other packaging tools that > don't set up a framework structure--cx_freeze and/or pyinstaller. No > blame to py2app here, of course. I appreciate your advice and support. I just thought I'd follow up with an update here... I was able to successfully get an update to my app submitted to the Mac App Store after switching from py2app to cx_freeze. cx_freeze doesn't bundle a framework but just moves all the Python bits into a single executable directory, so the issues with framework symlinks are side-stepped. cx_freeze development has recently resumed after a long period of inactivity, and somewhat to my surprise, it now includes good support for OS X, including running install_name_tool to make a self-contained binary. This tool seems to be very popular among PyQt developers for deploying apps on the Mac, and it also supports Python 3. I've submitted a few patches to tweak a few things, but I was able to get my own app bundled up with just a little additional work, which I'll chalk up to learning the specifics of how this tool works. Development of cx_freeze is now based at https://bitbucket.org/anthony_tuininga/cx_freeze, though it still has a SourceForge site; not sure if this new site represents the next generation, a fork, or what. In any event, I just thought I'd mention cx_freeze as a useful tool to look at. Thanks, Kevin -- Kevin Walzer Code by Kevin http://www.codebykevin.com From nad at acm.org Mon May 7 07:30:54 2012 From: nad at acm.org (Ned Deily) Date: Mon, 07 May 2012 01:30:54 -0400 Subject: [Pythonmac-SIG] Building Python 2.7 with ppc64 References: <1336304827.59161.YahooMailNeo@web120705.mail.ne1.yahoo.com> Message-ID: In article <1336304827.59161.YahooMailNeo at web120705.mail.ne1.yahoo.com>, Chris Calderon wrote: > Hello All! This is my first time using this mailing list yay! I am having a > problem building Python 2.7 for my quad G5 PowerMac, and I was wondering if > anyone has any experience doing this? I don't want a 32-bit build, because I > have 8 gigs of RAM I want to be able to use. My os is Mac OS x 10.5.8, and I > have Xcode 3.1 installed. I tried to build and install like this: > ./configure --enable-framework --enable-universalsdk=/ > --with-universal-archs=64-bit make make install This installed python, > supposedly, but didn't build tkinter or sqlite3, and lots of other stuff > didn't build all the way. What should I do ?to get this to install > correctly? are their other libraries I need to install first? Has anyone > successfully built python 2.7 for ppc64? The Python project has no OS X ppc64 buildbots so we make no claims to test Mac G5 platforms. I've never had a G5 to attempt executing a ppc64 architecture. I have built 4-way (ppc, ppc64, i386, x86_64) framework builds in the past for some versions but not recently. That said, we hope that ppc64 works and try not to break it. There are a few known gotchas, though. Tkinter support for ppc64 is not available out of the box. The Tcl/Tk 8.4 supplied by Apple with OS X 10.5 is a Carbon Aqua version which supports 32-bit (ppc or i386) only. This is also true of the more up-to-date ActiveState's ActiveTcl 8.4. ActiveState supplies a Cocoa Tcl/Tk 8.5 for 10.5+ but only for i386 and x86_64. If you really need Tkinter, your best bets are probably either to build a 64-bit version of the X11-based Tcl/Tk 8.5 and link with that when building a 64-bit Python; or, build a 32-bit/64-bit universal Python (--with-universal-arch=all --enable-universal-sdk=/Developer/SDKs/MacOSX10.5.sdk) and run in 32-bit mode when needing Tkinter. On 10.5 32-bit-mode is preferred by default so you would have to force 64-bit mode when launching a 32-/64- bit Python by using something like this: arch -ppc64 python2.7 ... Or look into modifying the framework Python.app plist to change the order of preferred archs. The problem with the sqlite extension not building is likely the problem documented here: http://bugs.python.org/issue14572. The best workaround for that is probably to build a universal version of libsqlite3 and link Python with that; the version supplied with 10.5 is quite old. You might be able to tweak the Python installer build script (Mac/BuildScript/build-installer.py) to do that for you; currently, it only builds its own version of sqlite3 if the deployment target is less than 10.5. Once you have built a Python, I would highly recommend that you run the full Python test suite, perhaps: python2.7 -m test.regrtest -w -uall,-largefile Good luck! -- Ned Deily, nad at acm.org From ecir.hana at gmail.com Mon May 7 18:13:42 2012 From: ecir.hana at gmail.com (ecir hana) Date: Mon, 7 May 2012 18:13:42 +0200 Subject: [Pythonmac-SIG] Document-based app Message-ID: Dear list, I'm trying to create a simple document-based app in Python and Cocoa. I'm not using PyObjC but another library called "cocoapy" ( http://code.google.com/p/cocoa-python/source/browse/). So far I really like but I ran into one issue. When I write the app in Objective C it works but when I translate it into Python it breaks. I thought it might have something to do with "NSDocumentClass" from Info.plist not being recognized by sharedDocumentController but I'm not sure. Please, would you be so kind and look at the following code, I'm very new into all this so perhaps I'm missing something. # Info.plist CFBundleDocumentTypes CFBundleTypeExtensions simple CFBundleTypeName simple CFBundleTypeRole Editor NSDocumentClass SimpleDocument CFBundleExecutable simple CFBundleName Simple # simple # ... some setup from bundlebuilder.py os.execve(executable, sys.argv, os.environ) # simple.py from cocoapy import * class SimpleDocumentImplementation(object): SimpleDocument = ObjCSubclass('NSDocument', 'SimpleDocument') @SimpleDocument.method('@') def init(self): self = ObjCInstance(send_super(self, 'init')) window = initWithContentRect_styleMask_backing_defer(NSMakeRect(100, 100, 480, 320), NSTitledWindowMask, NSBackingStoreBuffered, True) window.makeKeyAndOrderFront_(None) return self if __name__ == '__main__': NSAutoreleasePool = ObjCClass('NSAutoreleasePool') NSApplication = ObjCClass('NSApplication') NSWindow = ObjCClass('NSWindow') NSDocumentController = ObjCClass('NSDocumentController') SimpleDocument = ObjCClass('SimpleDocument') pool = NSAutoreleasePool.alloc().init() app = NSApplication.sharedApplication() controller = NSDocumentController.sharedDocumentController() controller.openUntitledDocumentAndDisplay_error_(True, None) # Here it breaks with "The (null) type doesn't map to any NSDocumentClass." Without it it still wont open the first default window. app.run() I expect it to open one window at start up, this is what the Objectve C app does by default. Here it doesn't show anything and when I try to force open it, it breaks. Thank you for any kind of help! Ecir Hana -------------- next part -------------- An HTML attachment was scrubbed... URL: From garbanzito at mac.com Tue May 8 01:22:59 2012 From: garbanzito at mac.com (steve harley) Date: Mon, 07 May 2012 17:22:59 -0600 Subject: [Pythonmac-SIG] py-appscript 32-bit terminology.dump() attempts failing in Lion Message-ID: <7BFF47C4-76D4-4AB2-9FB8-7149D73C70CD@mac.com> i am sending commands to FileMaker Pro 12 Advanced via py-appscript on OS X 10.7.4; i'm getting the same behavior noted in a thread from July 2010 ? specifically, AppleScript can use terms from the app's dictionary normally, but py-appscript gets a truncated dictionary that is apparently the Cocoa default, and has none of the terms needed for constructive work with FileMaker in that thread, this was Has' workaround, which apparently worked for the OP using FileMaker 11 (no OS version noted): > As a workaround, use the dump function in appscript.terminology to export the FMP dictionary to a static module and pass that module when creating app objects, like this: app('FileMaker Pro', terms=fmp11terminologymodule). Make sure you run the dump command under 32-bit Python (use 'arch -i386' followed by the path to the python interpreter in the Python.framework bundle) as it uses OSAGetAppTerminology, which isn't present in OS X's 64-bit APIs. > i'm on OS X 10.7.3 using stock python, so i've tried these incantations to run 32-bit python for the task: arch -i386 /usr/bin/python2.7 arch -i386 /System/Library/Frameworks/Python.framework/Versions/2.7/bin/pythonw2.7 in both cases i issue the dump command like this >>> import appscript, appscript.terminology >>> appscript.terminology.dump(u'/Applications/FileMaker Pro 12 Advanced/FileMaker Pro Advanced', u'/Users/me/Documents//fmp12a_glueb.py') but the result is still the truncated (useless) dictionary; ASDictionary 0.13.1 also produces the same result is there something i'm missing, or is this workaround not possible in Lion? alternatively, if anyone has created such a terminology dump for FileMaker Pro 12 (Advanced or not, or even version 11), i would be happy to receive a copy thanks From karstenwo at googlemail.com Tue May 8 07:51:14 2012 From: karstenwo at googlemail.com (Karsten Wolf) Date: Tue, 8 May 2012 07:51:14 +0200 Subject: [Pythonmac-SIG] py-appscript 32-bit terminology.dump() attempts failing in Lion In-Reply-To: <7BFF47C4-76D4-4AB2-9FB8-7149D73C70CD@mac.com> References: <7BFF47C4-76D4-4AB2-9FB8-7149D73C70CD@mac.com> Message-ID: <716D9957-9DA3-4B28-AF0A-3FEBDA635C98@googlemail.com> > but the result is still the truncated (useless) dictionary; > ASDictionary 0.13.1 also produces the same result Same result here. > is there something i'm missing, or is this workaround not possible > in Lion? It is also not working on Leopard. > alternatively, if anyone has created such a terminology dump for > FileMaker Pro 12 (Advanced or not, or even version 11), i would be > happy to receive a copy I dont have FMP11 or 12 but next time I get my hands, I'm trying the following: Making a dictionary from FMP10 and using that for 11 and testing it for 12. FileMaker has been so lazy wrt appleevents I would be surprised if they have something new in 12. From charlie.clark at clark-consulting.eu Tue May 8 16:47:32 2012 From: charlie.clark at clark-consulting.eu (Charlie Clark) Date: Tue, 08 May 2012 16:47:32 +0200 Subject: [Pythonmac-SIG] Help with Py2app In-Reply-To: References: Message-ID: Am 30.04.2012, 23:16 Uhr, schrieb Chris Barker : >> I'm now getting the same error as when running the original setup.py >> >> raise TypeError("Don't know how to handle '%s'" % repr(src)) >> TypeError: Don't know how to handle >> ''/Users/charlieclark/Sites/LinkChecker/linkchecker-gui'' > what is link-checker-gui ? > from that error, it looks like neither a module (clearly not - it's > not called *.py) or a package (would be a directory). > Also, it's in your home dir -- so why is it getting found by modulegraph? > >> At least I've got it pointing at the right script. So it can't resolve >> the >> dependencies? > that looks like something else than not finding a dependency. FWIW I seem to have got this working now - simply renaming the target scripts "linkchecker" and "linkchecker-gui" to include the .py extension lets them build properly. Have to see how to work this into the project. Charlie -- Charlie Clark Managing Director Clark Consulting & Research German Office Kronenstr. 27a D?sseldorf D- 40217 Tel: +49-211-600-3657 Mobile: +49-178-782-6226 From micko at wagsoft.com Sat May 26 02:34:58 2012 From: micko at wagsoft.com (Michael O'Donnell) Date: Sat, 26 May 2012 10:34:58 +1000 Subject: [Pythonmac-SIG] py2app bug with argv_emulation=True In-Reply-To: References: Message-ID: Dear all, I have a Tkinter application which is then packaged into an App using py2app. I (and various others) have a problem that Windows don't lift to visibility under MacOSX Lion, at least using Python 2.7.2, Tk8.5 Lion 10.7.4 and py2app 2.6.4 IF argv_emulation is set to True This can be demonstatrated by the following scripts: File 1: test.py --------------------- from Tkinter import * tk = Tk() fr=Frame(tk, height=400, width=400) fr.pack() def openWin(): t=Toplevel(tk) Button(t, text="Close", command=lambda w=t: w.destroy()).pack() for i in range(4): for j in range(4): Button(fr, text="Open", command=openWin).grid(row=i, column=j) tk.mainloop() -------------------- File 2: PackageMaker.py --------------------- rom setuptools import setup import sys sys.argv=[sys.argv[0]] sys.argv.append("py2app") setup( app=['test.py'], data_files=[], options={'py2app': {'argv_emulation': True, 'resources': []}}, setup_requires=['py2app'], ) -------------------- Now, the test.py script works fine when executed from Idle or using pythonw. It just doesn't work as expected when packaged as an executable by py2app. Windows do not appear when the buttons are pressed. (but note: the application does work when run from a console using: test.app/Contents/MacOS/test ) Kevin Walzer verified the behaviour I report on his machine. He found that if you set argv_emulation to False, the program worked as expected. NOW, I need argv_emulation, since a user might open my application by double clicking on a document associated with my program. I don't want to lose this functionality (which users are used to by now) just because of a bug. Now, I find it atrange that a bit of code which deals with passing command line args to the program should mess up Tkinter's windowing, just doesn't make sense. Anybody know of a workaround? Or is this a true bug that can be fixed? Mick O'Donnell -------------- next part -------------- An HTML attachment was scrubbed... URL: From chris.barker at noaa.gov Sat May 26 17:10:52 2012 From: chris.barker at noaa.gov (Chris Barker) Date: Sat, 26 May 2012 08:10:52 -0700 Subject: [Pythonmac-SIG] py2app bug with argv_emulation=True In-Reply-To: References: Message-ID: On Fri, May 25, 2012 at 5:34 PM, Michael O'Donnell wrote: > He found that if you set argv_emulation to False, the program > worked as expected. > > NOW, I need argv_emulation, since a user might open my application by > double?clicking on a document associated with my program. ?I don't want to > lose > this functionality (which users are used to by now) just because of a bug. Perhaps argv emulation isn't the only way to support this. Does tkInter on the Mac Support the Mac-specific events? For example, wxPython has mac-specific events you can catch for files dropped on the app, or selected at startup -- so argv emulation isn't required. Maybe Tk doesn't have those, but it's worth a look. > Now, I find it atrange that a bit of code which deals with passing > command line args to the program should mess up Tkinter's > windowing, just doesn't make sense. I agree -- though I suppose it could be interfering with the TK code to handle it -- so maybe it does exist. good luck, -Chris -- 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 From ronaldoussoren at mac.com Mon May 28 16:16:27 2012 From: ronaldoussoren at mac.com (Ronald Oussoren) Date: Mon, 28 May 2012 16:16:27 +0200 Subject: [Pythonmac-SIG] py2app bug with argv_emulation=True In-Reply-To: References: Message-ID: On 26 May, 2012, at 17:10, Chris Barker wrote: > On Fri, May 25, 2012 at 5:34 PM, Michael O'Donnell wrote: >> He found that if you set argv_emulation to False, the program >> worked as expected. >> >> NOW, I need argv_emulation, since a user might open my application by >> double clicking on a document associated with my program. I don't want to >> lose >> this functionality (which users are used to by now) just because of a bug. > > Perhaps argv emulation isn't the only way to support this. Does > tkInter on the Mac Support the Mac-specific events? For example, > wxPython has mac-specific events you can catch for files dropped on > the app, or selected at startup -- so argv emulation isn't required. > Maybe Tk doesn't have those, but it's worth a look. +1 on this, it is better to use the Tkinter support for this instead of the argvemulation hack (which is mostly meant to be used with command-line scripts) The source code for idle show how you can add support for the open-file event to your application: That said, I will try to fix the py2app bug when I have some time. Ronald -------------- next part -------------- A non-text attachment was scrubbed... Name: smime.p7s Type: application/pkcs7-signature Size: 4788 bytes Desc: not available URL: From micko at wagsoft.com Tue May 29 02:14:06 2012 From: micko at wagsoft.com (Michael O'Donnell) Date: Tue, 29 May 2012 10:14:06 +1000 Subject: [Pythonmac-SIG] py2app bug with argv_emulation=True In-Reply-To: References: Message-ID: Dear Ronald, Chris, > Perhaps argv emulation isn't the only way to support this. Does > > tkInter on the Mac Support the Mac-specific events? For example, > > wxPython has mac-specific events you can catch for files dropped on > > the app, or selected at startup -- so argv emulation isn't required. > > Maybe Tk doesn't have those, but it's worth a look. > > +1 on this, it is better to use the Tkinter support for this instead of > the argvemulation hack (which is mostly meant to be used with command-line > scripts The source code for idle show how you can add support for the open-file > event to your application: < > http://hg.python.org/cpython/file/cb716ee277cc/Lib/idlelib/macosxSupport.py#l54 > > > Mick: That code will allow openDocument events to be received while my program is open. In my case, I want users to be able to LAUNCH my application by double-clicking on a document. The openDocument event is executed before my program opens, and thus before this patch is executed. > That said, I will try to fix the py2app bug when I have some time. > Thanks. I know time is short and bugs consume time to fix. Mick > > Ronald > _______________________________________________ > Pythonmac-SIG maillist - Pythonmac-SIG at python.org > http://mail.python.org/mailman/listinfo/pythonmac-sig > unsubscribe: http://mail.python.org/mailman/options/Pythonmac-SIG > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From ronaldoussoren at mac.com Wed May 30 09:12:40 2012 From: ronaldoussoren at mac.com (Ronald Oussoren) Date: Wed, 30 May 2012 09:12:40 +0200 Subject: [Pythonmac-SIG] py2app bug with argv_emulation=True In-Reply-To: References: Message-ID: <9CA8421B-FED4-40F2-A694-6CE55E8FBF1C@mac.com> On 29 May, 2012, at 2:14, Michael O'Donnell wrote: > Dear Ronald, Chris, > > > Perhaps argv emulation isn't the only way to support this. Does > > tkInter on the Mac Support the Mac-specific events? For example, > > wxPython has mac-specific events you can catch for files dropped on > > the app, or selected at startup -- so argv emulation isn't required. > > Maybe Tk doesn't have those, but it's worth a look. > > +1 on this, it is better to use the Tkinter support for this instead of the argvemulation hack (which is mostly meant to be used with command-line scripts > The source code for idle show how you can add support for the open-file event to your application: > > Mick: That code will allow openDocument events to be received > while my program is open. In my case, I want users to be able to > LAUNCH my application by double-clicking on a document. The > openDocument event is executed before my program opens, > and thus before this patch is executed. IDLE can be opened by double clicking on python files, the code I linked to should be responsible for implementing this. Also, the argv_emulation code uses the openDocument event to do its work (argv_emulation basicly runs a Carbon event loop until it has received some openDocument events or until a timeout occurs). Ronald > > That said, I will try to fix the py2app bug when I have some time. > > Thanks. I know time is short and bugs consume time to fix. > > Mick > > > Ronald > _______________________________________________ > Pythonmac-SIG maillist - Pythonmac-SIG at python.org > http://mail.python.org/mailman/listinfo/pythonmac-sig > unsubscribe: http://mail.python.org/mailman/options/Pythonmac-SIG > > -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: smime.p7s Type: application/pkcs7-signature Size: 4788 bytes Desc: not available URL: From kw at codebykevin.com Wed May 30 12:27:48 2012 From: kw at codebykevin.com (Kevin Walzer) Date: Wed, 30 May 2012 06:27:48 -0400 Subject: [Pythonmac-SIG] py2app bug with argv_emulation=True In-Reply-To: <9CA8421B-FED4-40F2-A694-6CE55E8FBF1C@mac.com> References: <9CA8421B-FED4-40F2-A694-6CE55E8FBF1C@mac.com> Message-ID: <4FC5F624.1090605@codebykevin.com> On 5/30/12 3:12 AM, Ronald Oussoren wrote: > IDLE can be opened by double clicking on python files, the code I linked > to should be responsible for implementing this. Also, the argv_emulation > code uses the openDocument event to do its work (argv_emulation basicly > runs a Carbon event loop until it has received some openDocument events > or until a timeout occurs). > You can set a CFBundleTypeExtension key in your info.plist file to indicate that your app can handle a certain type of document via double-click. -- Kevin Walzer Code by Kevin http://www.codebykevin.com From kw at codebykevin.com Wed May 30 12:29:31 2012 From: kw at codebykevin.com (Kevin Walzer) Date: Wed, 30 May 2012 06:29:31 -0400 Subject: [Pythonmac-SIG] py2app bug with argv_emulation=True In-Reply-To: <9CA8421B-FED4-40F2-A694-6CE55E8FBF1C@mac.com> References: <9CA8421B-FED4-40F2-A694-6CE55E8FBF1C@mac.com> Message-ID: <4FC5F68B.1060606@codebykevin.com> > > IDLE can be opened by double clicking on python files, the code I linked > to should be responsible for implementing this. Also, the argv_emulation > code uses the openDocument event to do its work (argv_emulation basicly > runs a Carbon event loop until it has received some openDocument events > or until a timeout occurs). Also: *smacks head* Mick, I didn't realize that you were trying to have your app respond to a file being dropped on the app icon. Ronald is right, argv_emulation is not necessary for this. If the code sample Ronald pointed to isn't quite clear, let me explain it a bit more: Tk on the Mac supports all of the basic Apple events (app launch, file open, etc.) out of the box -- stub commands are included in the code that you can fill out to trigger an action in response to one of the supported events. In the case of opening a file by dropping it on the app icon, or double-clicking it, the relevant Tk command is "tk::mac::OpenDocument" . When this command is defined in Tk, the code contained in the command will be executed when an "odoc" ("open document") event is received. To access this functionality from Tkinter, you should use Tkinter's createcommand() function. The "createcommand" functionality allows a Python function/method to be mapped to a Tk command. Hence, in the IDLE example, you have: root.createcommand("::tk::mac::OpenDocument", doOpenFile) which maps the following code to the "tk::mac::OpenDocument" command: def doOpenFile(*args): for fn in args: flist.open(fn) Tk's support for this stuff on the Mac, out of the box, is actually quite rich, but it's been poorly documented until quite recently. I contributed documentation on all these commands to the Tk man pages: http://www.tcl.tk/man/tcl8.6/TkCmd/tk_mac.htm The commands are documented for Tk 8.6, but they are all present in the Cocoa-based version of Tk 8.5 from ActiveState as well, so you may find some useful things to look at here. Hope this helps, Kevin -- Kevin Walzer Code by Kevin http://www.codebykevin.com From micko at wagsoft.com Thu May 31 13:47:37 2012 From: micko at wagsoft.com (Michael O'Donnell) Date: Thu, 31 May 2012 21:47:37 +1000 Subject: [Pythonmac-SIG] py2app bug with argv_emulation=True In-Reply-To: <4FC5F68B.1060606@codebykevin.com> References: <9CA8421B-FED4-40F2-A694-6CE55E8FBF1C@mac.com> <4FC5F68B.1060606@codebykevin.com> Message-ID: Hi Kevin, Ronald, I must be missing something. I have inserted the discussed code into a test file (test.py) as follows: ---------------------- import sys from Tkinter import * import tkMessageBox def doOpenFile(*args): for arg in args: tkMessageBox._show(message=str(arg), type="ok", icon=tkMessageBox.WARNING) tk = Tk() tk.createcommand("::tk::mac::OpenDocument", doOpenFile) fr=Frame(tk, height=400, width=400, bg="red") fr.pack() tk.mainloop() ----------------------- Then I package this using py2app, specifying that it should launch whenever a .ctpx file is double clicked: ------- from setuptools import setup import sys OPTIONS={'py2app': {'argv_emulation': True, 'resources': [], 'plist': dict(CFBundleDocumentTypes = [dict( CFBundleTypeExtensions = ["ctpx"], CFBundleTypeName = "Test File", CFBundleTypeRole = "Editor")])}} sys.argv=[sys.argv[0]] sys.argv.append("py2app") setup( app=['test.py'], data_files=[], options=OPTIONS, setup_requires=['py2app']) ------ Running this creates an app: Test.app. If I then click on a file with a .ctpx extension, the application opens, but doOpenFile is not called (not message pops up). If I click on the .ctpx file again (while the app is open) the message DOES appear. Now, this is all as I would expect, because my call of tk.createcommand happens only AFTER my application launches, and any openDocument event was probably handled BEFORE the first line of my python code is executed. So none of this is any help to me. My users expect to double click on a .ctpx document to launch the application AND open that document for editing. Have I missed something? Mick On Wed, May 30, 2012 at 8:29 PM, Kevin Walzer wrote: > > >> IDLE can be opened by double clicking on python files, the code I linked >> to should be responsible for implementing this. Also, the argv_emulation >> code uses the openDocument event to do its work (argv_emulation basicly >> runs a Carbon event loop until it has received some openDocument events >> or until a timeout occurs). >> > > Also: > > *smacks head* > > Mick, I didn't realize that you were trying to have your app respond to a > file being dropped on the app icon. Ronald is right, argv_emulation is not > necessary for this. > > If the code sample Ronald pointed to isn't quite clear, let me explain it > a bit more: > > Tk on the Mac supports all of the basic Apple events (app launch, file > open, etc.) out of the box -- stub commands are included in the code that > you can fill out to trigger an action in response to one of the supported > events. > > In the case of opening a file by dropping it on the app icon, or > double-clicking it, the relevant Tk command is "tk::mac::OpenDocument" . > When this command is defined in Tk, the code contained in the command will > be executed when an "odoc" ("open document") event is received. > > To access this functionality from Tkinter, you should use Tkinter's > createcommand() function. The "createcommand" functionality allows a Python > function/method to be mapped to a Tk command. Hence, in the IDLE example, > you have: > > root.createcommand("::tk::mac:**:OpenDocument", doOpenFile) > > which maps the following code to the "tk::mac::OpenDocument" command: > > def doOpenFile(*args): > for fn in args: > flist.open(fn) > > > Tk's support for this stuff on the Mac, out of the box, is actually quite > rich, but it's been poorly documented until quite recently. I contributed > documentation on all these commands to the Tk man pages: > > http://www.tcl.tk/man/tcl8.6/**TkCmd/tk_mac.htm > > The commands are documented for Tk 8.6, but they are all present in the > Cocoa-based version of Tk 8.5 from ActiveState as well, so you may find > some useful things to look at here. > > Hope this helps, > Kevin > > -- > Kevin Walzer > Code by Kevin > http://www.codebykevin.com > ______________________________**_________________ > Pythonmac-SIG maillist - Pythonmac-SIG at python.org > http://mail.python.org/**mailman/listinfo/pythonmac-sig > unsubscribe: http://mail.python.org/**mailman/options/Pythonmac-SIG > > > ______________________________**_________________________ > Unlimited Disk, Data Transfer, PHP/MySQL Domain Hosting > http://www.doteasy.com > -------------- next part -------------- An HTML attachment was scrubbed... URL: From michael.mccracken at gmail.com Thu May 31 21:46:54 2012 From: michael.mccracken at gmail.com (Michael McCracken) Date: Thu, 31 May 2012 14:46:54 -0500 Subject: [Pythonmac-SIG] py2app and PyQt: QT plugins cause loading multiple QT library versions Message-ID: New user, so new thread, in reference to "(PyQt and py2app) Gui starts in IDLE but not as app". This happens when Qt loads image plugins from the system location (likely set during Qt's configure), which then load the system Qt. The problem and a workaround are described here: http://lists.trolltech.com/qt-interest/2008-09/thread00258-0.html py2app's PyQt sample doesn't exercise enough of Qt to hit this problem. I'm not sure exactly what part of Qt you'd need to trigger it, but I guess the Color Picker might work. The quick way, if you know you don't need these plugins, is to create an empty qt.conf file at MyApp.app/Contents/Resources/qt.conf. The plugin search path can be set in that qt.conf, or an empty one just stops it from looking for plugins. I've verified that an empty file avoids the issue, haven't tested setting the path. For py2app, I guess some thought is required for a nice API to handle this case, since these are C dylibs that won't be detected at bundle time. Ideally, we could have an option that takes a list of qt plugins we need, and creates the appropriate qt.conf. There isn't a quick way to add this in, so I thought I'd ask for comments on how it should be designed. I will probably need plugin support soon, and I'd like to be able to contribute the change back. Thanks, -mike