You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I'm trying to automatically run a sequence of commands in the QtConsole. I'm doing this by listening for 'execute_reply' messages from the kernel_client.shell_channel and using these to trigger the next command. However, some of the commands are missing from the console.
I've created a minimal working example from the embed_qtconsole.py example: embed_qtconsole.py.txt
To demonstrate the problem, click 'Connect signal', 'then 'Run'.
Sample output:
In [1]: i = 1
In [2]: i = 2
In [3]: i = 4
In [4]: i = 5
In [5]: i = 6
In [6]:
In [7]: i = 7
In [8]: i = 9
In [9]:
In [10]:
As you can see, in this instance i = 3 and i = 8 are missing and the commands are out of sync with the input prompts, although the total number of input prompts is correct.
I'm guessing this is a timing issue, and the 'execute_reply' is being received before the corresponding IO operation is complete. Is there a better way to implement automatic execution? Perhaps another signal that is emitted after all processing of a command is completely finished? (I've tried also waiting for a 'status idle' message from the iopub_channel but it didn't help).
I'm using python 3.8 and qtconsole version 5.4.1 (on CentOS 7).
The text was updated successfully, but these errors were encountered:
I'm trying to automatically run a sequence of commands in the QtConsole. I'm doing this by listening for 'execute_reply' messages from the
kernel_client.shell_channel
and using these to trigger the next command. However, some of the commands are missing from the console.I've created a minimal working example from the embed_qtconsole.py example:
embed_qtconsole.py.txt
To demonstrate the problem, click 'Connect signal', 'then 'Run'.
Sample output:
As you can see, in this instance
i = 3
andi = 8
are missing and the commands are out of sync with the input prompts, although the total number of input prompts is correct.I'm guessing this is a timing issue, and the 'execute_reply' is being received before the corresponding IO operation is complete. Is there a better way to implement automatic execution? Perhaps another signal that is emitted after all processing of a command is completely finished? (I've tried also waiting for a 'status idle' message from the
iopub_channel
but it didn't help).I'm using python 3.8 and qtconsole version 5.4.1 (on CentOS 7).
The text was updated successfully, but these errors were encountered: