Philipp,

I've just fixed a couple of bugs including the multiple instances issue.

Please try again and keep me informed.

HTH,
-Pierre

Le 20 mars 2012 14:26, Philipp Lies <[email protected]> a écrit :
> Thanks, Pierre, for the update.
>
> The ipython plugin starts nicely with both PySide and PyQt API, however,
> plotting has some strange behaviors:
>
> I can open only exactly 1 ipython frontend. Whenever I try to open a
> second one, I get
>
> [IPythonApp] Could not find existing kernel connection file
> kernel-17160.json
> (or any other kernel-xxx.json, once it even showed kernel*-json)
>
> Further, when I try to open a window (e.g. using figure()) with PySide I
> get the following:
>
> TypeError: QWidget.setFocusPolicy(Qt.FocusPolicy): argument 1 has
> unexpected type 'PySide.QtCore.Qt.FocusPolicy'
>
> For PyQT, the window opens when I set matplotlib.interactive(False) but
> then the console is locked. The window doesn't open/update when
> interactive is True. So plotting is unusable.
> The ipython frontend uses window based plotting even though I have
> specified to use pylab inline in the Preferences which is ignored
> completely.
>
> I further have the strange bug that sometime when I start spyder the
> upper options in the Interpreters menu (start console, start ipython
> console, start ipython kernel) are grayed out, only the "start new
> frontend" entry is available.
>
> However, what works for me is opening an ipython session outside of
> spyder with
> ipython qtconsole --pylab=inline
>
> and then just open one frontend to the existing kernel with spyder. Running
> ipython kernel --pylab=inline
> does not work and produces the same errors as running a kernel inside of
> spyder (ignores pylab=inline option and tries to open windows)
>
> Hope this feedback helps!
>
> Cheers
>
> Philipp
>
> On 03/19/2012 10:28 PM, Pierre Raybaut wrote:
>> Hi all,
>>
>> FYI, IPython 0.12 is now working with Spyder's latest Mercurial
>> changesets (meaning that both v2.1.9 and v2.2.0 will support recent
>> IPython versions again).
>>
>> Note that IPython 0.11+ support is still experimental -- and it's only
>> working in the IPython plugin (*not* in the Console plugin). The
>> Console plugin supports only IPython 0.10 and I doubt that we will
>> ever be able to add support for IPython 0.11+
>> (http://spyder-ide.blogspot.fr/2011/09/no-ipython-v011-support-in-spyders.html).
>>
>> Cheers,
>> Pierre
>>
>> Le 8 mars 2012 11:21, David Verelst <[email protected]> a écrit :
>>> Hi Philipp,
>>>
>>> Thanks for the extensive response. Seems that I have a lot more to learn on
>>> the IPython/Spyder department. You got a lot further than my futile attempts
>>> :-)
>>>
>>> Regards,
>>> David
>>>
>>>
>>> On 07/03/12 16:55, Philipp Lies wrote:
>>>>
>>>> Hi,
>>>>
>>>> thanks for your response, but the behavior of ipython is far from what
>>>> is (or I) expected. If I compare the ipython console inside spyder it
>>>> behaves different from what ipython does when I start it from shell. So
>>>> spyder (or how spyder calls ipython) is the difference and renders using
>>>> spyder infeasible for me (at least on linux, works nicely on win).
>>>>
>>>> The following code is an example:
>>>> # -*- coding: utf-8 -*-
>>>> # *** Spyder Python Console History Log ***
>>>>
>>>> ##---(Wed Mar  7 15:56:30 2012)---
>>>> import matplotlib.pyplot as plt
>>>> import numpy as np
>>>> plt.plot(np.arange(10))
>>>> plt.draw()
>>>>
>>>> in the spyder ipython console, nothing happens while in the spyder
>>>> python console a window opens with the plot. When I run
>>>>
>>>> plt.show()
>>>>
>>>> in ipython a window opens with the plot but the console is locked. When
>>>> I then close the window and run
>>>>
>>>> plt.interactive(True)
>>>> plt.plot(np.arange(10))
>>>> plt.draw()
>>>>
>>>> Nothing happens. When I run
>>>>
>>>> plt.show()
>>>>
>>>> nothing happens. When I run
>>>>
>>>> plt.figure()
>>>>
>>>> nothing happens, not even a blank window opens. When I run
>>>>
>>>> plt.interactive(False)
>>>>
>>>> The old behavior with the lock is back. So spyder is calling ipython
>>>> with some weird command line parameters. Because when I look at sys.argv
>>>> (the argument list) it's
>>>>
>>>> In [1]: sys.argv
>>>> Out[1]:
>>>>
>>>> ['/usr/local/lib/python2.7/dist-packages/spyderlib/widgets/externalshell/startup.py',
>>>>  '-pylab',
>>>>  '-q4thread',
>>>>  '-colors',
>>>>  'LightBG',
>>>>  '-xmode',
>>>>  'Plain']
>>>>
>>>> which must be wrong because that's not a valid ipython v0.12 argument
>>>> list. When I try to call ipython from shell with this list, I get
>>>>
>>>> WARNING: `-pylab` flag has been deprecated.
>>>>     Use `--pylab` instead, or `--pylab=foo` to specify a backend.=========
>>>> [...]
>>>> [TerminalIPythonApp] Bad config encountered during initialization:
>>>> [TerminalIPythonApp] Unrecognized flag: '-q4thread'
>>>>
>>>> And the list of loaded modules is also strange:
>>>> In [1]: whos
>>>> Variable                Type             Data/Info
>>>> --------------------------------------------------
>>>> InteractiveShellEmbed   MetaHasTraits<class
>>>> 'IPython.frontend.<...>d.InteractiveShellEmbed'>
>>>> h5py                    module<module 'h5py' from
>>>> '/usr<...>kages/h5py/__init__.pyc'>
>>>> os                      module<module 'os' from
>>>> '/usr/lib/python2.7/os.pyc'>
>>>> osp                     module<module 'posixpath' from
>>>> <...>python2.7/posixpath.pyc'>
>>>> sys                     module<module 'sys' (built-in)>
>>>>
>>>> However, when I try to load matplotlib and set the backend, I get an
>>>> error because the backend is already set to Qt4Agg.
>>>>
>>>> In [3]: mlib.use('TkAgg')
>>>> UserWarning:  This call to matplotlib.use() has no effect
>>>> because the the backend has already been chosen;
>>>> matplotlib.use() must be called *before* pylab, matplotlib.pyplot,
>>>> or matplotlib.backends is imported for the first time.
>>>>
>>>> So somewhere during the initialization of ipython matplotlib has been
>>>> loaded, (mis-)configured, and unloaded so that I cannot configure it. I
>>>> can change this by disabling matplotlib in the preferences, but
>>>> whichever backend I load manually won't work.
>>>>
>>>> It seems to me that spyder ignores the parameters set in the "External
>>>> Modules" tab of the console options in the preferences. Because even if
>>>> I enter an invalid statement in the "IPython interpreter command line
>>>> options" field nothing changes (and the default value does not at all
>>>> correspond to what sys.argv says after loading).
>>>>
>>>> I checked on 2 different computers, both running spyder 2.1.8 but one
>>>> with ipython 0.10 and the other with 0.12. The 0.10 works flawlessly, it
>>>> even reads my .ipython folder and loads the config files, while the 0.12
>>>> has the above mentioned bugs. However, downgrading is not an option for
>>>> me.
>>>>
>>>> So who knows where the misconfiguration happens and where to fix it?
>>>>
>>>> Cheers
>>>>
>>>> Philipp
>>>>
>>>> On 03/06/2012 10:37 AM, David Verelst wrote:
>>>>>
>>>>> Hi,
>>>>>
>>>>> If I understand your mail correct, you are reporting two problems here.
>>>>>
>>>>> 1) show() locks the progression of the script until it is closed again.
>>>>> This behaviour is kind of expected I believe. Although I am not a
>>>>> developer and I don't grasp the full complexity of this problem, I don't
>>>>> believe the cause lies with Spyder but with some inherent Python
>>>>> characteristics combined with how the plotting backend is functioning. A
>>>>> few days ago I tried to look into the problem a little further and my
>>>>> conclusions can be found in following thread on this list:
>>>>>
>>>>> http://groups.google.com/group/spyderlib/browse_thread/thread/4a47ca60ebf0ace2.
>>>>> In short mu conclusions: when generating lots of plots in a single
>>>>> script, don't use interactive plotting but save you pictures as they are
>>>>> generated and watch them in either .png, .jpg. eps or other formats
>>>>> (that's how I work).
>>>>>
>>>>> If show() works and it results in a figure, I think the interactive mode
>>>>> is already active (see
>>>>> http://matplotlib.sourceforge.net/users/shell.html). Have you also tried
>>>>> additional draw() statements? That will force matplotlib to redraw the
>>>>> figure. It could be that some plotting commands did not trigger the
>>>>> draw() command so they haven't made it yet to the interactive figure. As
>>>>> far as I understand the interactive mode, the only difference is that is
>>>>> should automatically trigger some draw() statements after each update of
>>>>> the plot.
>>>>>
>>>>> Since there is more to discover of how to deal with this interactive
>>>>> plotting issue correctly, you can't consider my answer as final. For
>>>>> instance, just found this:
>>>>> http://scipy.org/Cookbook/Matplotlib/Interactive_Plotting. I will need
>>>>> more time to dig in deeper and also raise this matter on the matplotlib
>>>>> develop/user lists.
>>>>>
>>>>> Please correct me if I am wrong on this whole interactive plotting story!
>>>>>
>>>>> 2) "ValueError: API 'QString": sorry, I am not much of a help here.
>>>>>
>>>>> And now, back to my "real" work. To be continued...
>>>>>
>>>>> Regards,
>>>>> David
>>>>>
>>>>>
>>>>> On 05/03/12 15:16, Philipp Lies wrote:
>>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> I try to get interactive plotting working using spyder 2.1.8 and
>>>>>> ipython 0.12 on ubuntu 11.10. Interactive plotting works if I use the
>>>>>> normal python interpreter as well as in ipython outside of spyder.
>>>>>> When I load matplotlib and plot something in ipython I have to call
>>>>>> show() which locks the console until I close the window. If I enable
>>>>>> interactive plotting manually plotting doesn't work anymore (window
>>>>>> stays empty). Vanilla spyder configuration (deleted my .spyder2
>>>>>> folder).
>>>>>> Further, when I try to start an ipython kernel or try to connect to an
>>>>>> externally started kernel I get:
>>>>>> "ValueError: API 'QString' has already been set to version 1"
>>>>>> PySide 1.1.0 and PyQt4 4.7.4 are installed. I tried every possible
>>>>>> combination of API version and library selection in the preferences.
>>>>>> Didn't change anything.
>>>>>> Any ideas how I could get a working spyder+ipython configuration
>>>>>> running? Preferably the ipython kernel with pylab inline but since
>>>>>> there is an open bug regarding the QString problem I'd be happy if I
>>>>>> could get the normal ipython interpreter would work properly.
>>>>>>
>>>>>> Cheers
>>>>>>
>>>>>> Philipp
>>>>>>
>>>
>>> --
>>> You received this message because you are subscribed to the Google Groups
>>> "spyder" group.
>>> To post to this group, send email to [email protected].
>>> To unsubscribe from this group, send email to
>>> [email protected].
>>> For more options, visit this group at
>>> http://groups.google.com/group/spyderlib?hl=en.
>>>
>>
>
> --
> You received this message because you are subscribed to the Google Groups 
> "spyder" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to 
> [email protected].
> For more options, visit this group at 
> http://groups.google.com/group/spyderlib?hl=en.
>

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

Reply via email to