[Pythonmac-SIG] problem running py2app

Attila Tajti attila.tajti at gmail.com
Mon Jan 25 18:04:09 CET 2010


Hello,

As my first Mac OS X project I am trying to build a sample plugin with py2app. I am following this tutorial: 

http://eaganj.free.fr/weblog/?post/2009/07/14/Demystifying-Mail.app-Plugins-on-Leopard

I do not know what am I doing wrong, but I cannot seem to be able to create my plugin in the first place. 

python setup.py py2app -A works, but creating a standalong plugin fails. 

Do you know what is wrong? First I tried with py2app 0.4.3, but now I use svn trunk.

python setup.py py2app output:
running py2app
*** using recipe: virtualenv ***
*** filtering dependencies ***
369 total
366 filtered
0 orphaned
3 remaining
*** create binaries ***
*** byte compile python files ***
skipping byte-compilation of /Users/ata/Projects/MailArchiveButton/MyPlugin.py to MyPlugin.pyc
byte-compiling /Users/ata/Scrap/py2app/py2app/bootstrap/boot_plugin.py to boot_plugin.pyc
byte-compiling /Users/ata/Scrap/py2app/py2app/bootstrap/disable_linecache.py to disable_linecache.pyc
*** creating plugin bundle: MyPlugin ***
copying MyPlugin.py -> /Users/ata/Projects/MailArchiveButton/dist/MyPlugin.mailbundle/Contents/Resources
creating /Users/ata/Projects/MailArchiveButton/dist/MyPlugin.mailbundle/Contents/Resources/lib
creating /Users/ata/Projects/MailArchiveButton/dist/MyPlugin.mailbundle/Contents/Resources/lib/python2.6
copying build/bdist.macosx-10.6-universal/python2.6-semi_standalone/app/site-packages.zip -> /Users/ata/Projects/MailArchiveButton/dist/MyPlugin.mailbundle/Contents/Resources/lib/python2.6
creating /Users/ata/Projects/MailArchiveButton/dist/MyPlugin.mailbundle/Contents/Resources/lib/python2.6/lib-dynload
creating /Users/ata/Projects/MailArchiveButton/dist/MyPlugin.mailbundle/Contents/Frameworks
Traceback (most recent call last):
  File "/Users/ata/Scrap/py2app/py2app/build_app.py", line 589, in _run
    self.run_normal()
  File "/Users/ata/Scrap/py2app/py2app/build_app.py", line 660, in run_normal
    self.create_binaries(py_files, pkgdirs, extensions, loader_files)
  File "/Users/ata/Scrap/py2app/py2app/build_app.py", line 777, in create_binaries
    platfiles = mm.run()
  File "build/bdist.macosx-10.6-universal/egg/macholib/MachOStandalone.py", line 101, in run
    for fn in platfiles:
  File "build/bdist.macosx-10.6-universal/egg/macholib/util.py", line 227, in iter_platform_files
    if is_platform_file(fn):
  File "build/bdist.macosx-10.6-universal/egg/macholib/util.py", line 206, in is_platform_file
    header = mach_o.fat_header.from_fileobj(fileobj, _endian_='>')
  File "build/bdist.macosx-10.6-universal/egg/macholib/ptypes.py", line 44, in from_fileobj
    return cls.from_str(f.read(cls._size_), **kw)
  File "build/bdist.macosx-10.6-universal/egg/macholib/ptypes.py", line 48, in from_str
    return cls.from_tuple(struct.unpack(endian + cls._format_, s), **kw)
error: unpack requires a string argument of length 8
> /Users/ata/Projects/MailArchiveButton/build/bdist.macosx-10.6-universal/egg/macholib/ptypes.py(48)from_str()
(Pdb) ^D


setup.py:
from distutils.core import setup
import py2app

plist = dict(
        NSPrincipalClass='MyPlugin',
        CFBundleVersion='1',
        SupportedPluginCompatibilityUUIDs=[
		'225E0A48-2CDB-44A6-8D99-A9BB8AF6BA04',
		'B3F3FC72-315D-4323-BE85-7AB76090224D',
		'2610F061-32C6-4C6B-B90A-7A3102F9B9C8',
		'99BB3782-6C16-4C6F-B910-25ED1C1CB38B',
		'2F0CF6F9-35BA-4812-9CB2-155C0FDB9B0F',
		'0CB5F2A0-A173-4809-86E3-9317261F1745'
            ]
    )
setup(
    plugin = ['MyPlugin.py'],
    options=dict(py2app=dict(extension='.mailbundle', plist=plist))
 )


myplugin.py:
from AppKit import *
from Foundation import *
import objc

MVMailBundle = objc.lookUpClass('MVMailBundle')
class MyPlugin(MVMailBundle):
    @classmethod
    def initialize (cls):
        cls.registerBundle()
        NSLog("MyPlugin registered with Mail")
    initialize = classmethod(initialize)




-- Attila

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/pythonmac-sig/attachments/20100125/5248cf87/attachment.htm>


More information about the Pythonmac-SIG mailing list