Spyder 2.2 first public beta release

136 views
Skip to first unread message

Carlos Córdoba

unread,
Jan 16, 2013, 6:11:19 PM1/16/13
to spyd...@googlegroups.com
Hi all,

On the behalf of Spyder's development team, I'm pleased to announce the
first beta of our next version: Spyder 2.2.

We've been working on this version for almost a year and as far as we
know is very stable. There are still some minor bugs to squash but we
encourage all people who like the bleeding edge to give it a try.

This version comes with several improvements, the most important ones
being: better IPython integration, a new debugger toolbar, breakpoints
widget and MacOs X application.

See the incomplete changelog here:
http://code.google.com/p/spyderlib/wiki/ChangeLogBeta

And don't forget to follow Spyder updates/news on the project website
(http://code.google.com/p/spyderlib/) and on our official blog
(http://spyder-ide.blogspot.com/). In the next couple of weeks I'll be
writing a series of blogs describing in more detail our new changes

Enjoy!
Carlos

Uwe Fechner

unread,
Jan 19, 2013, 1:33:10 PM1/19/13
to spyd...@googlegroups.com, Carlos Córdoba
Hello,

I am testing the version 2.2.0 beta.

I love the new debug toolbar, but I want to suggest two
improvements:

1. Debugging with ipython and the debug toolbar does not work.
OK, no problem, but than I would expect that the "Debug in
external console" button on the debug toolbar opens a new
Python interpreter before launching the script.
Now you have to do that manually, which is easy to forget
and hard to teach.

2. When the debugging is finished the last line, where the
debugger stopped is still highlighted. That is confusing.
When the debugger is not longer active the highlighting
should be disabled.

Best regards and keep up with the good work!

Uwe Fechner

Jed Ludlow

unread,
Jan 19, 2013, 3:20:21 PM1/19/13
to spyderlib
On Sat, Jan 19, 2013 at 11:33 AM, Uwe Fechner <uwe.fec...@gmail.com> wrote:
Hello,

I am testing the version 2.2.0 beta.

I love the new debug toolbar, but I want to suggest two
improvements:

1. Debugging with ipython and the debug toolbar does not work.
   OK, no problem, but than I would expect that the "Debug in
   external console" button on the debug toolbar opens a new
   Python interpreter before launching the script.
   Now you have to do that manually, which is easy to forget
   and hard to teach.

Hi, Ewe. Yes, it is true that the debugging toolbar does not work with IPython consoles right now. That is a limitation that will exist for a while longer until we can figure out the right way to implement it so that it does not require too much tinkering with IPython internals.

Actually, the "Debug in external console" button respects the run configuration setting for each particular script (launch the run configuration using F6). If a given script is set to run in the existing console then the debugging will occur in that existing console. If the script is set to run in a new dedicated interpreter then the debugging will be launched in a new interpreter every time.
 
2. When the debugging is finished the last line, where the
   debugger stopped is still highlighted. That is confusing.
   When the debugger is not longer active the highlighting
   should be disabled.

It is Spyder's default behavior to highlight the currently active line in the editor regardless of whether the script is under debug or not, so it doesn't seem to make sense to disable highlighting at the end of debugging.

Thanks for the feedback,

Jed

Jed Ludlow

unread,
Jan 19, 2013, 3:43:23 PM1/19/13
to spyderlib



On Sat, Jan 19, 2013 at 1:20 PM, Jed Ludlow <jed.l...@gmail.com> wrote

Hi, Ewe. Yes, it is true that the debugging toolbar does not work with IPython consoles right now. That is a limitation that will exist for a while longer until we can figure out the right way to implement it so that it does not require too much tinkering with IPython internals.

Sorry about the typo on your name, Uwe. I was a little too fast on the send button!

Jed 

Uwe Fechner

unread,
Jan 19, 2013, 5:20:09 PM1/19/13
to spyd...@googlegroups.com
Dear Jed,


you write:
"Actually, the "Debug in external console" button respects the run configuration setting for each particular script"
If that is true than the quickhelp text, that is shown if you hoover over the read debug button, because
it ALWAYS says "Debug in external console".

But this is not the main problem.

The main problem is that the external or internal console can be either ipython or python. And I suggest to ALWAYS launch a python (and not ipython) console if you click the debug button, unless the current console is already
a python console.
Just to make sure that - if you use the debugging toolbar - that it always works as expected.

With respect to the other little problem:
If it is not possible to " currently active line in the editor" that line one should be set active after the debugging
has finished to make it clear that the debugger is not longer active.

Regards:

Uwe Fechner
--
You received this message because you are subscribed to the Google Groups "spyder" group.
To post to this group, send email to spyd...@googlegroups.com.
To unsubscribe from this group, send email to spyderlib+...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/spyderlib?hl=en.

Uwe Fechner

unread,
Jan 19, 2013, 5:21:07 PM1/19/13
to spyd...@googlegroups.com
Dear Jed,


you write:
"Actually, the "Debug in external console" button respects the run configuration setting for each particular script"
If that is true than the quickhelp text, that is shown if you hoover over the red debug button is wrong, because

it ALWAYS says "Debug in external console".

But this is not the main problem.

The main problem is that the external or internal console can be either ipython or python. And I suggest to ALWAYS launch a python (and not ipython) console if you click the debug button, unless the current console is already
a python console.
Just to make sure that - if you use the debugging toolbar - that it always works as expected.

With respect to the other little problem:
If it is not possible to " currently active line in the editor" that line one should be set active after the debugging
has finished to make it clear that the debugger is not longer active.

Regards:

Uwe Fechner


Am 19.01.2013 21:20, schrieb Jed Ludlow:

Jed Ludlow

unread,
Jan 19, 2013, 8:14:39 PM1/19/13
to spyderlib
On Sat, Jan 19, 2013 at 3:21 PM, Uwe Fechner <uwe.fec...@gmail.com> wrote:
Dear Jed,

you write:
"Actually, the "Debug in external console" button respects the run configuration setting for each particular script"
If that is true than the quickhelp text, that is shown if you hoover over the red debug button is wrong, because
it ALWAYS says "Debug in external console".

Ah, okay, now I understand the confusion. I will try to clarify the quickhelp. As a more general comment, maybe the challenge is the way the word "external" is used here. In Spyder terminolgy, the internal console means the interpreter in which Spyder itself is running. All other Python consoles are launched in separate processes, and the notion of "external" simply means "a console running in a separate process from Spyder itself". Those external consoles actually come in three flavors under run configuration: the "currently active" interpreter, a separate new "dedicated" interpreter to be used for that script alone, and finally a completely independent python interpreter running in a system terminal to model exactly what would happen if your script was run outside of Spyder. All three of these external console types has an important use case, but I admit that this can seem daunting to understand.


The main problem is that the external or internal console can be either ipython or python. And I suggest to ALWAYS launch a python (and not ipython) console if you click the debug button, unless the current console is already
a python console.
Just to make sure that - if you use the debugging toolbar - that it always works as expected.

It's actually possible (and completely valid) to launch the debugger into an IPython console using the toolbar. It's just that the stepping commands from the rest of the toolbar won't work yet :). But the typical command line debugging commands that you enter on the prompt do work fine still. I think the answer here is to invest the time to get the debugging toolbar to work right with IPython. Easier said than done, but probably worth it in the end.


With respect to the other little problem:
If it is not possible to " currently active line in the editor" that line one should be set active after the debugging
has finished to make it clear that the debugger is not longer active.

I'm not quite sure I completely understand this last comment. Could you elaborate?

Thanks, again, for the detailed feedback.

Jed

Uwe Fechner

unread,
Jan 19, 2013, 9:22:41 PM1/19/13
to spyd...@googlegroups.com, Jed Ludlow
I wrote:
With respect to the other little problem:
If it is not possible to " currently active line in the editor" that line one should be set active after the debugging
has finished to make it clear that the debugger is not longer active.

You ask:
I'm not quite sure I completely understand this last comment. Could you elaborate?

I meant to say:

With respect to the other little problem:
If it is not possible to disable the "currently active line in the editor" than the first line should be set active after the debugging has finished to make it clear that the debugger is not longer active and that the next
line that will be executed will be the first line of the script.

Now better to understand?

Regards:

Uwe

Jed Ludlow

unread,
Jan 24, 2013, 8:59:52 AM1/24/13
to spyderlib
On Sat, Jan 19, 2013 at 6:14 PM, Jed Ludlow <jed.l...@gmail.com> wrote:

It's actually possible (and completely valid) to launch the debugger into an IPython console using the toolbar. It's just that the stepping commands from the rest of the toolbar won't work yet :). But the typical command line debugging commands that you enter on the prompt do work fine still. I think the answer here is to invest the time to get the debugging toolbar to work right with IPython. Easier said than done, but probably worth it in the end.


 ... it's now possible (and completely valid) to launch the debugger into an IPython console, *and* the debugging toolbar commands will now work correctly :). I just pushed a solution up to the default repository that allows debugging commands to get to IPython consoles. If anyone running from the default repository source would like to test it out I'd appreciate feedback!

Jed

Sylvain Corlay

unread,
Jan 24, 2013, 10:14:44 AM1/24/13
to spyd...@googlegroups.com
Awesome!  

Uwe Fechner

unread,
Jan 25, 2013, 2:44:19 AM1/25/13
to spyd...@googlegroups.com, Sylvain Corlay
Yes, it works nicely.

Uwe
--
You received this message because you are subscribed to the Google Groups "spyder" group.
To post to this group, send email to spyd...@googlegroups.com.
To unsubscribe from this group, send email to spyderlib+...@googlegroups.com.

Dave Hirschfeld

unread,
Jan 25, 2013, 5:11:33 AM1/25/13
to spyd...@googlegroups.com

On Thursday, January 24, 2013 1:59:52 PM UTC, Jed Ludlow wrote:

 ... it's now possible (and completely valid) to launch the debugger into an IPython console, *and* the debugging toolbar commands will now work correctly :). I just pushed a solution up to the default repository that allows debugging commands to get to IPython consoles. If anyone running from the default repository source would like to test it out I'd appreciate feedback!

Jed


Thanks, it's working great!

-Dave
 

Steve

unread,
Jan 25, 2013, 12:12:39 PM1/25/13
to spyd...@googlegroups.com
The editor should support adding and removing breakpoint from the GUI during a debugging session.  Right now if you add a new breakpoint the GUI acts like it's been added but it won't actually be active until the next debugging session is created.  Do I need to create a ticket?

Jed Ludlow

unread,
Jan 25, 2013, 3:45:25 PM1/25/13
to spyderlib
On Fri, Jan 25, 2013 at 10:12 AM, Steve <steve.f....@gmail.com> wrote:
The editor should support adding and removing breakpoint from the GUI during a debugging session.  Right now if you add a new breakpoint the GUI acts like it's been added but it won't actually be active until the next debugging session is created.  Do I need to create a ticket?


Yes, Steve, this is a known issue. There are at least two open issues that make reference to this. In fact, I think you submitted the first one :).


I wrote a little bit more about it here:


It's always a challenge to know which limitations are causing the most pain. The issues that receive the most "stars" in the issue tracker are the ones that are most likely to get attention sooner. If this one is painful for anyone, I'd encourage you to star issue 609 to let us know. Or.....try your hand at a solution!
Message has been deleted

Sylvain Corlay

unread,
Feb 1, 2013, 11:22:29 AM2/1/13
to spyd...@googlegroups.com
Hi Jed, 

-> I voted for these two issues, I think that the possibility to add new breakpoints during the debugging is really the missing feature of the debug tool bar. 

-> Is it easy to make the icons of the debug toolbar gray depending on the context? 
For example:
- all icons grayed except the "debug" one when the focus is on a console in which pdb is not launched? 
- "debug" icon grayed and not the other ones when the focus is on a console in which pdb is launched? 

-> Another question which is not related to the debug toolbar: Wouldn't is be worth merging the two "Python console" and "Ipython console" widgets ? And then also merge their right-click menus? 

Thank you again for this great work. 

Sylvain

On Thursday, January 24, 2013 8:59:52 AM UTC-5, Jed Ludlow wrote:

Sylvain Corlay

unread,
Feb 1, 2013, 3:44:03 PM2/1/13
to spyd...@googlegroups.com
Moreover, is it possible to have the "run selected text of current block of line" available in the "right-click" menu of the selection? 

Sylvain

Sylvain Corlay

unread,
Feb 4, 2013, 12:03:14 PM2/4/13
to spyd...@googlegroups.com
Hello, 
The default filter in the file explorer does not list *.ipynb files. Maybe it would be worth adding it by default !
Sylvain

Jed Ludlow

unread,
Feb 4, 2013, 11:58:25 PM2/4/13
to spyderlib
On Fri, Feb 1, 2013 at 9:22 AM, Sylvain Corlay <sylvain...@gmail.com> wrote:
Hi Jed, 

-> I voted for these two issues, I think that the possibility to add new breakpoints during the debugging is really the missing feature of the debug tool bar. 

I agree that this deserves some attention. It probably won't make it into version 2.2 because it's likely to create a few bugs in the early implementation, and we're trying to get 2.2 stable and releasable. Stay tuned for future action in the next release maybe.


-> Is it easy to make the icons of the debug toolbar gray depending on the context? 
For example:
- all icons grayed except the "debug" one when the focus is on a console in which pdb is not launched? 
- "debug" icon grayed and not the other ones when the focus is on a console in which pdb is launched? 

Theoretically, yes, this could happen. Practically, there is one big challenge today. Each console is running in it's own process separate from Spyder, and I don't believe that the consoles currently alert Spyder when they are in debug mode. So Spyder doesn't really have a good way of knowing the debug state of any given console today. And keep in mind that interactive consoles can come in and out of debug mode from the toolbar or by keyboard inputs at a command prompt, so it isn't sufficient to just handle debug state at, say, the tab widget level. You actually have to have a mechanism to peer into the external console process and know if pdb is active. That might mean monkey patching pdb some more. Please open up an issue on the project site so we can remember to look at it again later.


-> Another question which is not related to the debug toolbar: Wouldn't is be worth merging the two "Python console" and "Ipython console" widgets ? And then also merge their right-click menus? 


There are a few outstanding questions about the right way to handle IPython kernels, front ends, etc. I agree that it is a little confusing, but part of that confusion results from the fact that we're trying to be pretty flexible, allowing connection to kernels launched by Spyder and external kernels under the control of, say, IPython notebook. It's going to require some additional thought to get it cleaner.

Reply all
Reply to author
Forward
0 new messages