Пример #1
0
 def _init_kernel_manager(self):
     connection_file = find_connection_file(self.app.connection_file)
     manager = QtKernelManager(connection_file=connection_file)
     manager.load_connection_file()
     manager.start_channels()
     atexit.register(manager.cleanup_connection_file)
     self.kernel_manager = manager
Пример #2
0
def default_manager(kernel):
    """ Return a configured QtKernelManager

    :param kernel: An IPKernelApp instance
    """
    connection_file = find_connection_file(kernel.connection_file)
    manager = QtKernelManager(connection_file=connection_file)
    manager.load_connection_file()
    manager.start_channels()
    atexit.register(manager.cleanup_connection_file)
    return manager
Пример #3
0
 def create_kernel_manager_and_client(self,
                                      connection_file=None,
                                      hostname=None,
                                      sshkey=None,
                                      password=None):
     """Create kernel manager and client"""
     cf = find_connection_file(connection_file, profile='default')
     kernel_manager = QtKernelManager(connection_file=cf, config=None)
     if programs.is_module_installed('IPython', '>=1.0'):
         kernel_client = kernel_manager.client()
         kernel_client.load_connection_file()
         if hostname is not None:
             try:
                 newports = tunnel_to_kernel(
                     dict(ip=kernel_client.ip,
                          shell_port=kernel_client.shell_port,
                          iopub_port=kernel_client.iopub_port,
                          stdin_port=kernel_client.stdin_port,
                          hb_port=kernel_client.hb_port), hostname, sshkey,
                     password)
                 (kernel_client.shell_port, kernel_client.iopub_port,
                  kernel_client.stdin_port,
                  kernel_client.hb_port) = newports
             except Exception as e:
                 QMessageBox.critical(
                     self, _('Connection error'),
                     _('Could not open ssh tunnel\n') + str(e))
                 return None, None
         kernel_client.start_channels()
         # To rely on kernel's heartbeat to know when a kernel has died
         kernel_client.hb_channel.unpause()
         return kernel_manager, kernel_client
     else:
         kernel_manager.load_connection_file()
         if hostname is not None:
             try:
                 newports = tunnel_to_kernel(
                     dict(ip=kernel_manager.ip,
                          shell_port=kernel_manager.shell_port,
                          iopub_port=kernel_manager.iopub_port,
                          stdin_port=kernel_manager.stdin_port,
                          hb_port=kernel_manager.hb_port), hostname, sshkey,
                     password)
                 (kernel_manager.shell_port, kernel_manager.iopub_port,
                  kernel_manager.stdin_port,
                  kernel_manager.hb_port) = newports
             except Exception as e:
                 QMessageBox.critical(
                     self, _('Connection error'),
                     _('Could not open ssh tunnel\n') + str(e))
                 return None, None
         kernel_manager.start_channels()
         return kernel_manager, None
Пример #4
0
 def create_kernel_manager_and_client(self, connection_file=None):
     """Create kernel manager and client"""
     cf = find_connection_file(connection_file, profile='default')
     kernel_manager = QtKernelManager(connection_file=cf, config=None)
     if programs.is_module_installed('IPython', '>=1.0'):
         kernel_client = kernel_manager.client()
         kernel_client.load_connection_file()
         kernel_client.start_channels()
         # To rely on kernel's heartbeat to know when a kernel has died
         kernel_client.hb_channel.unpause()
     else:
         kernel_client = None
         kernel_manager.load_connection_file()
         kernel_manager.start_channels()
     return kernel_manager, kernel_client
Пример #5
0
 def create_kernel_manager_and_client(self, connection_file=None,
                                      hostname=None, sshkey=None,
                                      password=None):
     """Create kernel manager and client"""
     cf = find_connection_file(connection_file, profile='default')
     kernel_manager = QtKernelManager(connection_file=cf, config=None)
     if programs.is_module_installed('IPython', '>=1.0'):
         kernel_client = kernel_manager.client()
         kernel_client.load_connection_file()
         if hostname is not None:
             try:
                 newports = tunnel_to_kernel(dict(ip=kernel_client.ip,
                                       shell_port=kernel_client.shell_port,
                                       iopub_port=kernel_client.iopub_port,
                                       stdin_port=kernel_client.stdin_port,
                                       hb_port=kernel_client.hb_port),
                                       hostname, sshkey, password)
                 (kernel_client.shell_port, kernel_client.iopub_port,
                  kernel_client.stdin_port, kernel_client.hb_port) = newports
             except Exception as e:
                 QMessageBox.critical(self, _('Connection error'), 
                                  _('Could not open ssh tunnel\n') + str(e))
                 return None, None
         kernel_client.start_channels()
         # To rely on kernel's heartbeat to know when a kernel has died
         kernel_client.hb_channel.unpause()
         return kernel_manager, kernel_client
     else:
         kernel_manager.load_connection_file()
         if hostname is not None:
             try:
                 newports = tunnel_to_kernel(dict(ip=kernel_manager.ip,
                                       shell_port=kernel_manager.shell_port,
                                       iopub_port=kernel_manager.iopub_port,
                                       stdin_port=kernel_manager.stdin_port,
                                       hb_port=kernel_manager.hb_port),
                                       hostname, sshkey, password)
                 (kernel_manager.shell_port, kernel_manager.iopub_port,
                  kernel_manager.stdin_port, kernel_manager.hb_port) = newports
             except Exception as e:
                 QMessageBox.critical(self, _('Connection error'), 
                                  _('Could not open ssh tunnel\n') + str(e))
                 return None, None
         kernel_manager.start_channels()
         return kernel_manager, None
Пример #6
0
 def connect_kernel(self, conn, heartbeat=False):
     km = QtKernelManager(connection_file=find_connection_file(conn))
     km.load_connection_file()
     km.start_channels(hb=heartbeat)
     self.kernel_manager = km
     atexit.register(self.kernel_manager.cleanup_connection_file)