On Feb 13, 2005, at 10:17 PM, Jon Schull wrote:


On Feb 13, 2005, at 6:23 PM, Bob Ippolito wrote:
On Feb 13, 2005, at 17:53, Jon Schull wrote:
So in prioritized order (numbers are prioritized; letter ordering is not)
1a. A peppy native aqua, crash-free text editor with optional syntax highlighting

There are plenty of these, including but not limited to Xcode, BBEdit, SubEthaEdit, Smultron, etc.
right

1b. A single easy and obvious configuring of the python memory environment. (.pth? sys.path? site module? gimme a break!)

Put stuff in /Library/Python/2.3 -- is it that hard? You don't have to know about the underlying mechanisms.
good to be reminded, although that will force me to reinstall modules extensions, etc. when I upgrade python, won't it?

YES, but you have to do that anyway. Upgrading your development environment from Python 2.3 to 2.4 requires rebuilding and reinstalling EVERYTHING. You probably shouldn't bother with installing 2.3.5 because the multiple python scenario is a pain in the ass and it often doesn't really buy you that much. You should install PantherPythonFix immediatley, because even installing Python 2.4 will break extension building for your current Python.


On the subject of Python 2.4, I would wait for Python 2.4.1... 2.4.0 is better than 2.3.0 at building extensions and whatnot, but there are improvements in 2.4.1 that are worth waiting for.

2a. an under-the-hood solution to, or hiding of, the dueling pythons. (Maybe that means installing modules in two locations?)

Don't install multiple Pythons. Problem solved!
Well that's where the dilemmas begin. If I want aqua apps and Vpython apps, I need two pythons. (I think. See below.)

The under-the-hood solution is implemented anyway - PantherPythonFix. You simply need to make sure all of your extensions were built after installing it, and that the "dueling" python is 2.3.5 or 2.4.x or later. We can't go back in time and relink any extensions that you had managed to download or build on your own before this fix was developed, unfortunately.

This is a newsflash! I read Daily Python-URL religiously. And there's no mention of this at python.org, nor at Jack's page to which we are referred http://homepages.cwi.nl/~jack/macpython/

Interim fixes for this issue have been discussed on and off on this list for god knows how long. PantherPythonFix was mentioned on this list fairly recently and is technically still in beta. It's in the beta html page for the Python 2.3.5 release on Jack's page. It was mentioned on my blog last week which presumably made the Daily Python-URL (most of them do.. I'd have to double-check).


2b. The text editor should support code folding (to best exploit python's most distinctive and valuable feature) via keystrokes.

PyOXIDE does this, I think.. I'm not sure what else does.
It does indeed. I think PyOXIDE is very promising, although it crashes on me pretty frequently.


3a. Command R runs the current script.

I think a lot of the aforementioned text editors can do this. In the context of a PyObjC app, the Xcode templates give you this.
Someday I'll understand what that really implies and entails. But today I'm simulating a newbie (with great success, it seems)

Xcode builds and runs your current project when you press cmd-R. PyObjC ships with templates that are hybrid Objective-C/PyObjC that are compatible with this feature. These templates are only useful for Cocoa development. That explain it any better? If not, read the PyObjC documentation.


3b. Keys can be rebound simply, e.g. by editing a text file

I think this is over-prioritized.
You're probably right. To me, though, being able to fold and unfold code, and to run the program without breaking my flow is a huge help in keeping track of forest and trees.

What does that have to do with changing key bindings?

3c. Errors take you to the offending line.

Not sure what supports this... I would imagine that PyOXIDE does?
It does


4. An easy to use, pythonic gui system that will carry cross platform.

PythonCard is probably the farthest along with this, I think?

I'd be interested in hearing what people think. If I recall, my tests involved customizing the pythoncard editor itself. With large source files the editor just got too sluggish.

That's probably because current wxPython generally seems to be sluggish on OS X. If not, then maybe pythoncard's editor just needs some optimizations. I don't know, I don't use either that much, especially on the Mac.


5a. Easy variable tracing

Do people really use variable tracing that often? I don't find myself using it much even in languages that support it. I find myself inspecting state only when I'm sitting at a break point. Perhaps I'm just not effectively using the debugger, I do it in my head, or the code I write in these languages doesn't make variable tracing that useful.


5b. A full stepping debugger.

pdb gives you this, without the GUI... I don't really find myself stepping around a lot though, I simply set the code up to dump me at a post mortem or at a specific place and then I inspect what's going on. I rarely try and continue execution after inspecting the state, because usually I want to change something.
PyOxide, with

Huh?

5c. Some kind of simple versioning (such as saving automatic incrementally numbered backups)

Subversion integration? Numbered backups sounds really obnoxious.
Subversion clearly better if its newbie-friendly. I was focusing for easiest to implement and easiest to use.

Subversion has Python bindings and it wouldn't be that hard to integrate it with a local repository..


6. What he said. But, as noted, that's asking a lot. I'd be happy with 1+...

Notes:
Today, Smultron gives me #1
1b bites me periodically but I'm brain-damaged already so I don't feel the pain very often
2a is a scandal (even if no one in particular is to blame)
3a Command R can wait for the third tier because I have a trick: I run a script "onchange.py python somefile.py" which runs somefile.py whenever I save the file. But a newbie wouldn't know how to create this script.
4. AnyGui seemed like a really good idea to me.

Lots of good ideas never get the attention and effort they deserve.

5a and 5b: the point of mentioning these is to show how LOW a priority they are relative to the prior basic usability issues.

I'm not complaining here, so much as trying to raise consciousness about lost opportunities and newbie frustrations to which afficionados in the mature python community are, almost by definition, blinded.

Also, I'm speculating but not presuming that this is the right prioritization. Your comments?

An out-of-process Python interpreter/debugger combo would be really high on my list. What good is cmd-R if it only works for command line scripts? For IDEs written in Python, in-process interpreters and debuggers can cause the IDE to crash, halt, or behave strangely. Unfortunately this is common practice.

I agree. I've been bitten by that.

This discussion leads me to believe that if I were to upgrade my python to 2.35+, run pantherpython fix, I could install modules without worrying about "crosstalk", use PyOXIDE, and have virtually everything I want (with the possible exception of running VPython programs from within PyOxide. Even that SHOULD be possible if I run as an external process using /sw/bin/python, but I get an error.)
Gtk-WARNING **: cannot open display:
Visual-2003-10-05
(exit status: 1)
Perhaps that's just one of those pesky newbie-opaque configuration issues....?

This is because you don't have a DISPLAY variable set, so it doesn't know which X11 server to talk to. Off the top of my head, a quick and dirty fix for this would be to set the "DISPLAY" environment variable to "0:0" in your ~/.MacOSX/environment.plist. You should be able to easily edit this with the RCEnvironment preference pane <http://www.rubicode.com/Software/RCEnvironment/>. Or, if you're feeling particularly pythonic, you could use the Plugins/EnvironmentPrefs example that is in PyObjC 1.2.


Anyway, this has been very useful to me, thanks!

Maybe the pieces are actually all available and what's needed is newbie's guide for those new to python, or python on the mac.
Then it wouldn't just be useful to *me*.

I think part of the problem is that most of the cognoscenti (as you put it) are set on using crazy tools like Emacs and Vim, so they are more or less just as aware of the "easy" way as the new users are :)


-bob

_______________________________________________
Pythonmac-SIG maillist  -  Pythonmac-SIG@python.org
http://mail.python.org/mailman/listinfo/pythonmac-sig

Reply via email to