[Pythonmac-SIG] Mac User Python Newbies

Bob Ippolito bob at redivi.com
Sun Feb 13 01:04:03 CET 2005


On Feb 12, 2005, at 6:25 PM, Louis Pecora wrote:

> Bob Ippolito wrote:
>
>>> I really like the ability to edit and just hit cmd-R to run the 
>>> script.
>>> The IDE could use some updating and wart removal.  Syntax coloring, 
>>> better scrolling (that's damaged right now), use of scroll wheel (if 
>>> present), a few other interface changes.
>>>
>>> In the end it's my tool.
>>> I don't really understand how your are doing the development.  You 
>>> have to jump to a term window to run the script?
>>
>>
>> The source code for the old MacPython IDE is extremely ancient and 
>> nobody has expressed interest in updating it...
>
> Bob,  Yeah I can see that, although for us non-guru python types who 
> just want a nice language to use it still is very nice.  Sad that no 
> one will update it, but I realize all this stuff is on a volunteer 
> basis.

In this particular case, fixing the MacPython IDE to use the newer 
Carbon conventions and facilities would more or less be a rewrite 
anyway, so people have expressed interest in writing an equivalent 
using Cocoa.  One such effort is PyOXIDE, though it would be nice if 
more of it was written in Python.

I've personally been working on software that would be extremely useful 
in the context of an IDE, such as an out-of-process GUI Python 
interpreter, loading code into remote processes, creating applications 
and plugins (py2app), determining dependencies (macholib/modulegraph), 
PyObjC, etc. but I'm not currently working on creating or directly 
improving any IDE because frankly, I'm generally more interested in the 
low level stuff and an IDE wouldn't really be all that useful to me 
most of the time.

> Having said that I will lament what someone else on this list recently 
> said about python (he's new to the lingo and wants to use python 
> stuff), namely, everything seems scattered and now more so that the 
> IDE is decaying.  What to replace it with?

It'll be replaced when a suitable replacement exists.  It's not yet 
clear what that replacement is, or when this will happen.

> I know there are "solutions" since plenty of you are getting stuff 
> done in Python.  However, for people like me the need to separately 
> install several packages just to get another one going is daunting, 
> especially since the dependencies are hard to decipher.  I am not 
> complaining that the developers don't try to enlighten us, but since 
> the development is only loosely coordinated a sense of fragility 
> exists (at least for me) for any group of installed packages that have 
> to work together.

It's absolutely true that it can currently be difficult to get a suite 
of packages installed if you don't already know what you're doing.

That's part of the reason why I wrote bdist_mpkg.  All it takes is one 
person to build a package and package it up, and then anyone else can 
just install it with a download and a few clicks.  The process of 
creating a package with bdist_mpkg is as easy as the usual "sudo python 
setup.py install".  Honestly, all you have to do (py2app svn) is type 
"bdist_mpkg --zipdist --open" in the same directory as setup.py and it 
will build the package, create a zip file of the package for 
redistribution, and open up the package with the Installer GUI.  If you 
just want to install it, you can just type "bdist_mpkg" which will do 
the same, minus the creation of the zip file.

Detection of or downloading dependencies for packages are not solved by 
this, largely because there IS NO STANDARD for declaring them (not even 
a de-facto one, though there is ongoing work in this area), so it is 
the "maintainers" job to do it by hand.   However, it would be entirely 
possible to build an "Enthought Python" type distribution for Mac OS X 
using these facilities as-is.  At least one person is interested in 
creating such a distribution 
<http://www.scipy.org/wikis/featurerequests/MacEnthon>, but it's not 
ready yet as far as I know.  I am hosting several packages built using 
this system <http://undefined.org/python/packages.html> and that list 
will grow whenever I have the need or when someone else packages 
something and contributes it.  I do, of course, reserve the right to 
stop maintaining this whenever I no longer have the time or interest to 
do so.

Eventually a better system will exist, whether that's some combination 
of PackageManger and bdist_mpkg, or something else like Python Eggs 
<http://peak.telecommunity.com/DevCenter/PythonEggs>.  Unfortunately, 
for the most part, the people that are currently working on these 
systems don't really have an immediate need for them, so it's not an 
area of rapid development.

> Where I'm going with this is that I am torn between my love for the 
> Python language (the best I've ever used) and my needs to get work 
> done (I do numerical work in my scientific research) without spending 
> a lot of time and energy maintaining the software environment.
> I'm not sure how to cure this.  If there is a cure.  It may be endemic 
> to open source.  I sense that for developers its just part of the job 
> and maybe even enjoyable while for potential users like me it is a sad 
> frustration.
>
> Just a view from the users' side.  Thanks for letting me vent.

Open source developers work on whatever they want or need to work on, 
so the particular problems you have will get solved when someone with 
the time, skill, and motivation to do so decides to scratch that itch.  
If you want to speed this process along, you have a few options:

- Persuade a suitable developer to work on the problem areas you have 
(usually with money or a job)
- Fix the problems you have yourself (hey, at least you CAN)
- Deal with it as-is

.. beggars can't be choosers :)

-bob



More information about the Pythonmac-SIG mailing list