[Pythonmac-SIG] [Pyobjc-dev] ANN: py2app 0.5

Ronald Oussoren ronaldoussoren at mac.com
Fri Jul 30 13:21:42 CEST 2010



On 30 Jul, 2010,at 11:42 AM, Virgil Dupras <hsoft at hardcoded.net> wrote:


Thanks a bunch Ronald, your work is very very much appreciated I
tried to build my app on a whole spanking new stack (Python 2.7,
pyobjc 2.3 and py2app 0.5.2) and it worked (I use the plugin feature).
I had, however, to erase the prebuilt files and re-build them.
 
That's odd, the prebuilt binaries should just work.



This brings a question: I noticed that you added several new prebuilt
for each architecture combination. I ask: why using prebuilt at all?
 
Because that allows you to built python apps on systems without Xcode.


Why not simply have the setup build the thing on the user machine upon
install? This way the user gets binaries that exactly correspond to
the cflags he used when building python. Are there cases where a
py2app user would want any other cflags?

I only recently discovered the pythonmac-sig and I saw your call for
help. It's sad that nobody answered yet, but I can't say I'm
surprised. Like I told you at EuroPython, I'd like to help but I have
a very hard time understanding py2app's convoluted code base
(distutils is probably to blame for that, god I hate
distutils/setuptools). I guess it's the same thing for other users.
 

py2app isn't that hard to understand, it is a fairly basic distutils extension.  The code base could use some cleanup and documentation though, it should be possible to simplify the code base without losing features.

I'm also not surprised that almost nobody reacted to my call for help, that's just how opensource works.  That means that the projects where I work on move forward very slowly because there is only one developer that has little time.

Folks, please don't forget that I do almost all my python work in my private time and don't get paid for doing it.  This includes py2app, pyobjc and also the Mac port of Python itself.  I'd love to spend more time on these projects, but that's not going happen without some kind of financial support. I have a donations link on the pyobjc website, but I don't know why I bothered adding it.



I also had an interesting discussion with Alex Morega. He was asking
me why I used py2app at all. He gave me a link
(http://github.com/alex-morega/tinymail and
http://github.com/alex-morega/WhizbangPlugin ) to his Python/Cocoa
apps which don't use any packaging. It turns out the reason he can get
away without py2app or bundlebuilder is because he uses the system
Python and doesn't have other dependencies, but it still raises
questions: Is it possible that py2app is a little too complex for what
it does?
 
IMO py2app doesn't do enough yet.  In Alex' use-case py2app is overkill because the application cooperates, that's not the case for most other applications (let alone system components like System Preferences).  py2app is also needed when building application bundles.

Py2app needs to be somewhat complex to centralize the knowlegde needed for building applications, that way the users of py2app don't have to worry about the right directory structure, packaging the right files, etc, etc.    

Py2app should also learn how to package apps that use setuptools/pkg_resources features like entry points, that way even more applications can be supported without hacks.


I was thinking maybe it would be a good idea to go toward code
simplification in py2app and that a good way to start would be to get
rid of distutils.
 
I don't think that would buy us much, although I'll probably try to split py2app into a generic library and the distutils plugin. That's mostly because I want to have a "py2app_standalone" script that can be used in Xcode templates.

Ronald
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/pythonmac-sig/attachments/20100730/e5ddafda/attachment.html>


More information about the Pythonmac-SIG mailing list