Hi Min

  Can you fix this PR https://github.com/ipython/ipykernel/pull/276 that 
you created the other day. You added the line 

if not evt.wait(self.FLUSH_TIMEOUT):

but you defined FLUSH_TIMEOUT in a different class, not the one where it is 
used.


John

On Monday, October 30, 2017 at 6:48:39 AM UTC-7, Min RK wrote:
>
> The additional light I can shed is that IOPub is handled via a background 
> IO thread. When you display/print/etc., we handoff messages to be sent on 
> the IO thread. When .flush() is called, a Python threading.Event is used 
> to synchronize with the thread to ensure that any past sends have actually 
> occurred. Something in the import mechanism is preventing this background 
> thread from waking. This PR 
> <https://github.com/ipython/ipykernel/pull/276> should prevent us from 
> waiting for a flush event during imports.
>
> -Min
> ​
>
> On Mon, Oct 30, 2017 at 12:43 AM, John <[email protected] <javascript:>> 
> wrote:
>
>> I reported this issue at pypy here
>>
>>
>> https://bitbucket.org/pypy/pypy/issues/2690/importing-module-when-pypy-is-kernel-for
>>
>> and they debugged it to a certain point and are wondering if some IPython 
>> experts can shed some light on problem.
>>
>> > pypy2-v5.9.0-linux64/site-packages/ipykernel/iostream.py(319)flush()
>> -> evt = threading.Event()
>> (Pdb) n
>> > pypy2-v5.9.0-linux64/site-packages/ipykernel/iostream.py(320)flush()
>> -> self.pub_thread.schedule(evt.set)
>> (Pdb) n
>> > pypy2-v5.9.0-linux64/site-packages/ipykernel/iostream.py(321)flush()
>> -> evt.wait()
>>
>>
>> John
>>
>> On Thursday, October 19, 2017 at 12:37:57 PM UTC-7, John wrote:
>>>
>>> I have jupyter installed on an ubuntu linux machine using Anaconda with 
>>> Python 3. I also installed pypy and pypy3 on the ubuntu linux machine and 
>>> configured them as kernels for the Jupyter notebook. When I open a notebook 
>>> I am able to switch between the 3 kernels, namely Python3 , PyPy and PyPy3. 
>>> The problem I am having is that the following import statement fails when 
>>> PyPy is configured as the kernel for the notebook.
>>>
>>> from test import *
>>>
>>> executing this line in a notebook cell fails when PyPy is the kernel for 
>>> the notebook, but it works fine when the notebook is configured to have the 
>>> PyPy3 kernel or the Python3 kernel. It also works fine when Python2 is the 
>>> kernel. The contents of the test.py file is the following.
>>>
>>> import IPython
>>> from IPython.core.display import Javascript
>>> display(Javascript("""console.log('hello')"""))
>>> a = 1
>>> display(a)
>>>
>>> When I execute the cell containing
>>>
>>> from test import *
>>>
>>> when PyPY is the kernel the cell execution never completes and the * 
>>> symbol remains displayed to the left of the cell indefinitely.
>>>
>>>
>>> -- 
>> You received this message because you are subscribed to the Google Groups 
>> "Project Jupyter" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to [email protected] <javascript:>.
>> To post to this group, send email to [email protected] 
>> <javascript:>.
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/jupyter/8b5c051f-ed37-4bdc-8d0e-d63813398510%40googlegroups.com
>>  
>> <https://groups.google.com/d/msgid/jupyter/8b5c051f-ed37-4bdc-8d0e-d63813398510%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>>
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Project Jupyter" 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].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jupyter/071085f7-eaee-45f1-a95f-ca5e5ca12b94%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to