У нас есть приложение C ++, основанное на QT (myapp.exe) со встроенным python init.
как создать ядро внутри нашего приложения, которое может взаимодействовать с ноутбуком jupyter?
С помощью следующего кода ядро умерло автоматически. Может кто-нибудь, пожалуйста, предложите решение
Содержание нашего файла kernal.json:
{
"argv": [
"D:/myapp.exe",
"-f",
"{connection_file}",
"-input",
"D:/test.py",
],
"display_name": "test",
"language": "test"
}
код нашего ядра (находится в файле test.py):
from ipykernel.kernelbase import Kernel
class TEST(Kernel):
implementation = 'Echo'
implementation_version = '1.0'
language = 'no-op'
language_version = '0.1'
language_info = {
'name': 'Any text',
'mimetype': 'text/plain',
'file_extension': '.txt',
}
banner = "Echo kernel - as useful as a parrot"
def __init__(self, **kwargs):
super(Kernel, self).__init__(**kwargs)
def do_execute(self, code, silent, store_history=True, user_expressions=None, allow_stdin=False):
if not silent:
stream_content = {'name': 'stdout', 'text': code}
self.send_response(self.iopub_socket, 'stream', stream_content)
return {'status': 'ok',
# The base class increments the execution count
'execution_count': self.execution_count,
'payload': [],
'user_expressions': {},
}
if __name__ == '__main__':
from ipykernel.kernelapp import IPKernelApp
IPKernelApp.launch_instance(kernel_class=TEST)