[visionegg] OSX Python IDE issues

  • From: "Alex Holcombe" <HolcombeA@xxxxxxxxxxxxx>
  • To: <visionegg@xxxxxxxxxxxxx>
  • Date: Fri, 04 Jun 2004 04:11:49 +0100

On this topic of OSX python idiosyncrasies,
I have some questions about using the interactive editor, PythonIDE.  One of the
things that attracted me to try visionegg was the prospect of significantly
shorter debugging times and debug-execution cycles thanks to Python being an
interpreted rather than compiled language.  In the case of MATLAB, having the
interpreted language makes programming quite speedy because one can test small
sets of lines of code by copying them directly from the program file to the
command line and debugging them in isolation- e.g. allowing one to easily set
individual variables manually and checking the result.  

I was disappointed to find that I was not able to do this with Python programs
using PythonIDE (also I didn't find any alternative IDEs on the web that might
take care of this).  There appear to be three reasons for this.  

1. when I copy (using command-C or the menu) text from a Python script and paste
it in on the command line, only the first line of the text is actually executed,
even though manually entering the same lines one by one with carriage returns
between them does execute the code perfectly.  Why the problem with pasting
occurs I don't know- does anyone know?  

2.Even if the above did work, trying to execute a few lines of code out of a
Python script should typically not work, if I understand Python syntax
correctly.  Because to Python indentation whitespace is meaningful, one cannot
e.g. copy the contents out of a nested if-then statement and expect it to
execute, because when you paste the text it will have that level of indentation
still rather than having no indentation as it should.  Am I right about this and
is there a way around it?

3. One nice thing about MATLAB is I can execute a script and then query the
values of all the variables that the script affects from the command line.  By
just typing the variable name, I can see its value.  In contrast, it appears
that in Python variables have more restricted scope such that the command line
can't "see" the variables executed in a Python script.  Is there some way to
make the variables in a Python script global so that I can play with them on the
command line?

Without solutions or workarounds to the above three issues, much of the everyday
efficiency advantage of using an interpreted language seems to me to be lost. 
So despite the beauty of Python, for my new lab I might end up using MATLAB and
Psychophysics toolbox (presuming they someday get that to work with OSX!).  

Thanks in advance for any corrections comments etc.,
Alex Holcombe


======================================
The Vision Egg mailing list
Archives: //www.freelists.org/archives/visionegg
Website: http://www.visionegg.org/mailinglist.html

Other related posts: