@Sylvain: I've just changed the warning message
@Uwe: the best behavior would be to wait until the IPython client is
ready but it would require some coding (let's continue this in v2.3)
@Steve: I agree that it's a bit late to introduce this kind of
behavior change.
@All:
I've just had an idea of how we could settle this matter for both
beginners and advanced users.
We could:
1. reintroduce the old "Run in current (Python/IPython )console"
action (Alt+F5, for example) as an additional action in "Run"
menu/toolbar.
2. the current "Run" action (F5) will remain unchanged (with the old
default behavior, i.e. "run in a dedicated interpreter" enabled but
with "always show on a first rerun" disabled)
So, Carlos, Uwe, you may suggest to your students to use Alt+F5
instead of F5:
a. Use F5 to run a script in a clean/dedicated Python interpreter:
this is recommended for developing applications
b. Use Alt+F5 to run a script in current Python interpreter: this is
recommended for interactive computing
=> No unpleasant/unexpected change for current (or advanced) users.
=> Easier for beginners who would probably use Alt+F5 more often than F5
What do you think about this suggestion?
2013/4/29 Steve <[email protected]
<mailto:[email protected]>>
Does it make sense for spyder to just complain about no open
interpreter (and not just go ahead and launch a new one)? Does the
ipython interpreter never close? I'm not seeing how this change
makes anything easier for new users beyond the initial run unless
you're assuming all new users use ipython and those interpreter
sessions never close. Otherwise they're going to be met with the
dialog complaining that no interpreter is open and they're going
to have to learn about these concepts anyways.
I understand the desire to help new users, but sneaking a software
behavior change into an RC just before release is a good way to
introduce breakage and confusion for current users.
On Sunday, April 28, 2013 5:19:17 PM UTC-5, Sylvain Corlay wrote:
Hi Pierre,
I think that the current error message is a bit misleading in
the case where there is a shell opened but it does not have
the focus. For example, if there is an ipython console opened
but the standard console widget is selected.
Something in this spirit of
"No Python shell is currently selected to run stuff.py, please
select or open a new python interpreter."
woud maybe be more clear.
Best,
Sylvain
On Sunday, April 28, 2013 11:23:51 AM UTC-4, Pierre Raybaut
wrote:
Ok, I understand your point of view and I think that it's
probably best to keep it that way for beginners.
This odd behavior I found out ("Re-run" a script in
current interpreter fails silently if there is no running
interpreter) is actually a bug which is not produced by
your recent change: this recent change of behavior is only
making it happen more easily. So, no worry, really.
I see two actions that would need to be taken care of to
close this issue:
1. Warn the user (with a warning pop-up dialog box) if the
current "Run settings" is set to "Run in current
interpreter" *and* if there is no interpreter currently
running. This will avoid the "Run" command to fail silently.
2. Show the "Run settings" the first time a script is ever
run, so that every one will be fully conscious of the new
default behavior (run in current interpreter) and the new
"show Run Settings at each run" check box. Beginners will
directly click on the "Run" button without changing
anything and the dialog won't show again so that they
won't be troubled by this mysterious choice again.
I've implemented point 1 here:
https://code.google.com/p/spyderlib/source/detail?r=c1e17dc89477f27cd251fb59340a067eaa45b9f8
and point 2 there:
https://code.google.com/p/spyderlib/source/detail?r=00e148391c5b454b8c144fd1553b0a2155be8e12
With those minor changes above, I'm ok with this new behavior!
-Pierre
2013/4/28 Carlos Córdoba <[email protected]>
Hi Pierre,
Good to hear from you again! I gave a lot of thought
to this change, and I didn't want to do it so close to
the final release, but I was busy fixing other complex
bugs.
From the source code point of view, things are almost
exactly as before: I just changed the dialog's default
to "current interpreter" and added a checkbox to let
the user decide between the old and the new behavior,
so the bug you mention was most probably there before.
Experienced or old time users can mark the mentioned
checkbox and things for them will be as they always
have been. But newbies (as Uwe mentions) will have a
much easier and pleasant time with Spyder without
being confronted with a complex set of options from
the start.
I hope you understand my motivation: my aim is to lead
Spyder to a wider audience, i.e. people who is
learning or giving their first steps with Python, but
maintaining all the configurability and adaptability
it currently has.
I'll work hard to solve any bugs that show up
(starting with yours :-) and time will tell if I took
the right decision or not.
Cheers,
Carlos
El 28/04/13 07:58, Pierre Raybaut escribió:
Carlos,
I'm quite busy these days and I've just played around
with latest Spyder revision, just to fix Issue 1363
(for which you asked for my help). Doing so, I've
been confronted to this new behavior of the 'Run
configuration' dialog which has been renamed to 'Run
settings' (why not). First, I find it very risky to
introduce a change of behavior of this magnitude at
this stage of 2.2 release process (Release
Candidate). Second, I was confronted in less than 5
minutes to a bug (an unexpected behavior actually)
related to this change: when executing a program
which kills the Python process (hard crash or a
simple call to sys.exit), Spyder seems to be
unresponsive and unable to re-run it as the current
interpreter has been terminated... So, that's how
I've discovered this new behavior, a quite unpleasant
experience.
I really think that such changes should have been
introduced at an early stage of development, not just
before releasing the final 2.2.
Cheers,
Pierre
2013/4/27 Carlos Córdoba <[email protected]>
I made the change so that after pressing F5 on
new files, they always be evaluated in the
current interpreter (Python or IPython). I just
checked that it's working as I designed it (on
Windows and Linux), i.e. If you press F5 again,
then the file will be ran again in the selected
console with the "runfile" function.
I did it because I saw (in my courses and
workshops) that people gets easily confused with
the "Run dialog" and don't know what option to
select. Besides, now that we have a very good
IPython integration, I expect most people will
take advantage of it and won't need the "Execute
in a new dedicated python interpreter" option.
However, if you want to get back the old
behavior, you can mark the checkbox at the end of
the dialog that reads:
"Always open this dialog on a first file run".
Cheers,
Carlos
El 26/04/13 17:04, Steve escribió:
I saw some commits in the change log recently
related to the Run Settings. One of the
changes leads to unexpected behavior.
It appears the default interpreter option
changed. I just rolled back to an old commit
to confirm. The radio button for "Execute in
a new dedicated python interpreter" used to
be selected by default. The new default is
"Execute in current Python or IPython
interpreter" is checked. Because of this new
default setting after the initial run (F5)
additional presses of F5 do nothing. I
finally figured this out by realizing it was
new files and it must have to do with the run
config for new files versus files I had
previously debugged. I think don't think new
behavior is optimal.
-Steve
--
You received this message because you are
subscribed to the Google Groups "spyder" group.
To unsubscribe from this group and stop
receiving emails from it, send an email to
[email protected].
To post to this group, send email to
[email protected].
Visit this group at
http://groups.google.com/group/spyderlib?hl=en.
For more options, visit
https://groups.google.com/groups/opt_out.
--
You received this message because you are
subscribed to the Google Groups "spyder" group.
To unsubscribe from this group and stop receiving
emails from it, send an email to
[email protected].
To post to this group, send email to
[email protected].
Visit this group at
http://groups.google.com/group/spyderlib?hl=en.
For more options, visit
https://groups.google.com/groups/opt_out.
--
You received this message because you are subscribed
to the Google Groups "spyder" group.
To unsubscribe from this group and stop receiving
emails from it, send an email to
[email protected].
To post to this group, send email to
[email protected].
Visit this group at
http://groups.google.com/group/spyderlib?hl=en.
For more options, visit
https://groups.google.com/groups/opt_out.
--
You received this message because you are subscribed
to the Google Groups "spyder" group.
To unsubscribe from this group and stop receiving
emails from it, send an email to
[email protected].
To post to this group, send email to
[email protected].
Visit this group at
http://groups.google.com/group/spyderlib?hl=en.
For more options, visit
https://groups.google.com/groups/opt_out.
--
You received this message because you are subscribed to the Google
Groups "spyder" group.
To unsubscribe from this group and stop receiving emails from it,
send an email to [email protected]
<mailto:spyderlib%[email protected]>.
To post to this group, send email to [email protected]
<mailto:[email protected]>.
Visit this group at http://groups.google.com/group/spyderlib?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.
--
You received this message because you are subscribed to the Google
Groups "spyder" group.
To unsubscribe from this group and stop receiving emails from it, send
an email to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/spyderlib?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.