python is great

M.-A. Lemburg mal at egenix.com
Tue Jan 6 22:09:52 CET 2009


On 2009-01-06 21:24, Joe Strout wrote:
> M.-A. Lemburg wrote:
> 
>>> On the Mac in particular, if you want
>>> your app to run on any PowerPC or Intel machine runing 10.4 or later,
>>> and you're using anything not in the standard framework (such as
>>> MySQLdb), it's a bit of a nightmare.
>>>
>>
>> You're looking for py2app:
>>
>> http://undefined.org/python/py2app.html
> 
> No, I'm *using* py2app.  I've been trying to use it for a couple of
> weeks now, with the generous help of such people as Robin Dunn, and I
> still don't have it quite working properly.  (I'd be happy to send you
> my notes on what was required to get as far as I've gotten, but it's
> several pages, a bit long to post here.)

Perhaps not post it here, but put it up on the web somewhere and
link to it from the Python.org wiki.

> (py2exe works a little more easily, thank goodness.)

We're using py2exe to wrap up apps on Windows and then pass them on
to InnoSetup for creating the installer.

On Unix, we tried using cx_Freeze, but that had too many issues.
We've then modified and updated an old project of mine, called
mxCGIPython, to create a one file Python interpreter and use that
with the applications:

http://www.egenix.com/www2002/python/mxCGIPython.html

One of these days, we're going to release the new version as OSS.

>>> So I would say that Python as a language is great, and its standard
>>> framework is great.  But its (many) IDEs are pretty poor, and the
>>> process of building a polished, packaged app is abysmal. 
>>
>> It's certainly work, but that's always the case for nicely polished
>> apps :-)
> 
> In Python, yes.  :)  Not in all environments.

Hmm, I'm not only referring to nice looking GUIs. Those are only part
of the game. More important is well working application, without any
annoying bugs.

>> For packaging, you can choose from a multitude of installer builders -
>> none of which are really Python specific.
> 
> I'm not even talking about that level of packaging -- I'm just talking
> about making something that appears to the user like a normal
> executable, which they can double-click on their system and have it
> actually run, rather than aborting with something unhelpful like "No
> module named MySQLdb".

That's part of polishing the application, IMHO.

For point-and-click apps, you need to include all the required
dependencies together with the application.

>>> And there are
>>> some things (such as Flash-style web applets) that you still can't do at
>>> all in Python, even after all these years.
>>
>> You're looking for Silverlight:
>> http://www.voidspace.org.uk/ironpython/silverlight/index.shtml
> 
> Maybe.  I'm not a big fan of anything so Microsoftian, but I'll admit
> that this does mostly fit the bill I described above (or has the
> potential to, anyway).

Ok, how about a Firefox Extension, then...

http://pyxpcomext.mozdev.org/

together with a shell:

http://pyxpcomext.mozdev.org/samples.html#pyshell

With this plugin you write the GUI using XUL and JavaScript... and after
some polishing, which includes dropping the Firefox GUI and turning to
XULRunner, you can create apps such as Miro:

http://www.getmiro.com/

and watch TED videos driven by Python (and a gazillion other tools
working for you behind the scenes).

-- 
Marc-Andre Lemburg
eGenix.com

Professional Python Services directly from the Source  (#1, Jan 06 2009)
>>> Python/Zope Consulting and Support ...        http://www.egenix.com/
>>> mxODBC.Zope.Database.Adapter ...             http://zope.egenix.com/
>>> mxODBC, mxDateTime, mxTextTools ...        http://python.egenix.com/
________________________________________________________________________

::: Try our new mxODBC.Connect Python Database Interface for free ! ::::


   eGenix.com Software, Skills and Services GmbH  Pastor-Loeh-Str.48
    D-40764 Langenfeld, Germany. CEO Dipl.-Math. Marc-Andre Lemburg
           Registered at Amtsgericht Duesseldorf: HRB 46611
               http://www.egenix.com/company/contact/



More information about the Python-list mailing list