本文整理汇总了Python中qtconsole.inprocess.QtInProcessKernelManager.shutdown_kernel方法的典型用法代码示例。如果您正苦于以下问题:Python QtInProcessKernelManager.shutdown_kernel方法的具体用法?Python QtInProcessKernelManager.shutdown_kernel怎么用?Python QtInProcessKernelManager.shutdown_kernel使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类qtconsole.inprocess.QtInProcessKernelManager
的用法示例。
在下文中一共展示了QtInProcessKernelManager.shutdown_kernel方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: __init__
# 需要导入模块: from qtconsole.inprocess import QtInProcessKernelManager [as 别名]
# 或者: from qtconsole.inprocess.QtInProcessKernelManager import shutdown_kernel [as 别名]
class IPythonConsole:
def __init__(self, layout, sim, gui):
# Create an in-process kernel
# >>> print_process_id()
# will print the same process ID as the main process
self.kernel_manager = QtInProcessKernelManager()
self.kernel_manager.start_kernel()
self.kernel = self.kernel_manager.kernel
self.kernel.gui = 'qt4'
self.kernel.shell.write("Welcome to AO Sim!")
config = sim.config
#Pass some useful objects to the user
usefulObjects = { "sim" : sim,
"gui" : gui,
"config" : config,
"simConfig" : sim.config.sim,
"telConfig" : sim.config.tel,
"atmosConfig" : sim.config.atmos}
for i in range(sim.config.sim.nGS):
usefulObjects["wfs{}Config".format(i)] = sim.config.wfss[i]
for i in range(sim.config.sim.nDM):
usefulObjects["dm{}Config".format(i)] = sim.config.dms[i]
for i in range(sim.config.sim.nSci):
usefulObjects["sci{}Config".format(i)] = sim.config.scis[i]
self.kernel.shell.push(usefulObjects)
#kernel.shell.push({'foo': 43, 'print_process_id': print_process_id})
self.kernel_client = self.kernel_manager.client()
self.kernel_client.start_channels()
control = RichIPythonWidget()
control.kernel_manager = self.kernel_manager
control.kernel_client = self.kernel_client
control.exit_requested.connect(self.stop)
layout.addWidget(control)
self.kernel.shell.ex("")
#control.show()
#self.kernel.show
def stop(self):
self.kernel_client.stop_channels()
self.kernel_manager.shutdown_kernel()
def write(self,message):
self.kernel.shell.write(message)
self.kernel.shell.ex("")
示例2: __init__
# 需要导入模块: from qtconsole.inprocess import QtInProcessKernelManager [as 别名]
# 或者: from qtconsole.inprocess.QtInProcessKernelManager import shutdown_kernel [as 别名]
class IPythonConsole:
def __init__(self, layout, sim, gui):
# Create an in-process kernel
self.kernel_manager = QtInProcessKernelManager()
self.kernel_manager.start_kernel()
self.kernel = self.kernel_manager.kernel
self.kernel.shell.write("Welcome to AO Sim!\n")
config = sim.config
#Pass some useful objects to the user
usefulObjects = { "sim" : sim,
"gui" : gui,
"config" : config,
"simConfig" : sim.config.sim,
"telConfig" : sim.config.tel,
"atmosConfig" : sim.config.atmos,
"np" : numpy,
"plt" : pyplot}
for i in range(sim.config.sim.nGS):
usefulObjects["wfs{}Config".format(i)] = sim.config.wfss[i]
for i in range(sim.config.sim.nDM):
usefulObjects["dm{}Config".format(i)] = sim.config.dms[i]
for i in range(sim.config.sim.nSci):
usefulObjects["sci{}Config".format(i)] = sim.config.scis[i]
self.kernel.shell.push(usefulObjects)
self.kernel_client = self.kernel_manager.client()
self.kernel_client.start_channels()
control = RichIPythonWidget()
control.kernel_manager = self.kernel_manager
control.kernel_client = self.kernel_client
control.exit_requested.connect(self.stop)
layout.addWidget(control)
self.kernel.shell.ex("")
def stop(self):
self.kernel_client.stop_channels()
self.kernel_manager.shutdown_kernel()
def write(self,message):
self.kernel.shell.write(message)
self.kernel.shell.ex("")
示例3: ManagerGui
# 需要导入模块: from qtconsole.inprocess import QtInProcessKernelManager [as 别名]
# 或者: from qtconsole.inprocess.QtInProcessKernelManager import shutdown_kernel [as 别名]
#.........这里部分代码省略.........
else:
banner_modules = 'The numpy module has already been imported ' \
'as ''np''.'
banner = """
This is an interactive IPython console. {0}
Configuration is in 'config', the manager is 'manager' and all loaded modules are in this namespace with their configured name.
View the current namespace with dir().
Go, play.
""".format(banner_modules)
self._mw.consolewidget.banner = banner
# font size
self.consoleSetFontSize(self.consoleFontSize)
# settings
self._csd = ConsoleSettingsDialog()
self._csd.accepted.connect(self.consoleApplySettings)
self._csd.rejected.connect(self.consoleKeepSettings)
self._csd.buttonBox.button(
QtWidgets.QDialogButtonBox.Apply).clicked.connect(
self.consoleApplySettings)
self._mw.actionConsoleSettings.triggered.connect(self._csd.exec_)
self.consoleKeepSettings()
self._mw.consolewidget.kernel_manager = self.kernel_manager
self._mw.consolewidget.kernel_client = \
self._mw.consolewidget.kernel_manager.client()
self._mw.consolewidget.kernel_client.start_channels()
# the linux style theme which is basically the monokai theme
self._mw.consolewidget.set_default_style(colors='linux')
def stopIPython(self):
""" Stop the IPython kernel.
"""
self.log.debug('IPy deactivation: {0}'.format(QtCore.QThread.currentThreadId()))
self.kernel_manager.shutdown_kernel()
def stopIPythonWidget(self):
""" Disconnect the IPython widget from the kernel.
"""
self._mw.consolewidget.kernel_client.stop_channels()
def updateIPythonModuleList(self):
"""Remove non-existing modules from namespace,
add new modules to namespace, update reloaded modules
"""
currentModules = set()
newNamespace = dict()
for base in ['hardware', 'logic', 'gui']:
for module in self._manager.tree['loaded'][base]:
currentModules.add(module)
newNamespace[module] = self._manager.tree[
'loaded'][base][module]
discard = self.modules - currentModules
self.namespace.update(newNamespace)
for module in discard:
self.namespace.pop(module, None)
self.modules = currentModules
def consoleKeepSettings(self):
""" Write old values into config dialog.
"""
self._csd.fontSizeBox.setProperty('value', self.consoleFontSize)
def consoleApplySettings(self):
""" Apply values from config dialog to console.
"""
self.consoleSetFontSize(self._csd.fontSizeBox.value())
示例4: ConsoleWidget
# 需要导入模块: from qtconsole.inprocess import QtInProcessKernelManager [as 别名]
# 或者: from qtconsole.inprocess.QtInProcessKernelManager import shutdown_kernel [as 别名]
#.........这里部分代码省略.........
self.values.append(var[0])
self.kernel.shell.push({var[0]: var[1]})
if plot and plot.variables:
for var in plot.variables:
try:
self.kernel.shell.push({var.id: var})
except AttributeError:
pass
def updateCanvases(self, plot):
canvas_var_label = "canvas_{0}{1}".format(plot.row + 1, self.letters[plot.col])
self.shell_vars[plot]['canvas'] = canvas_var_label
self.kernel.shell.push({canvas_var_label: plot.canvas})
def updateGMS(self, plot):
if plot.graphics_method:
gm = plot.graphics_method.name
if gm[:2] == '__':
gm_prefix = vcs.graphicsmethodtype(plot.graphics_method)
gm_prefix = self.fixInvalidVariables(gm_prefix)
if gm_prefix not in self.gm_count.keys():
self.gm_count[gm_prefix] = 1
else:
self.gm_count[gm_prefix] += 1
gm = "{0}_{1}".format(gm_prefix, self.gm_count[gm_prefix])
else:
gm = self.fixInvalidVariables(gm)
if gm == 'default':
"{0}_default".format(vcs.graphicsmethodtype(plot.graphics_method))
self.shell_vars[plot]['gm'] = gm
self.kernel.shell.push({gm: plot.graphics_method})
def updateTemplates(self, plot):
if plot.template:
tmp = plot.template.name
tmp = self.fixInvalidVariables(tmp)
if tmp == 'default':
tmp = 'temp_default'
self.shell_vars[plot]['template'] = tmp
self.kernel.shell.push({tmp: plot.template})
def updateAllPlots(self, plots):
self.clearShellVars()
for plot in plots:
self.shell_vars[plot] = {'canvas': '', 'template': '', 'gm': ''}
if plot.name() != "(Untitled)":
self.updateVariables(plot)
self.updateCanvases(plot)
self.updateGMS(plot)
self.updateTemplates(plot)
else:
self.updateVariables(plot)
self.updateCanvases(plot)
def codeExecuted(self, *varargs):
namespace = self.kernel.shell.user_ns
cur_keys = set(namespace)
# get last output
out_dict = namespace["Out"]
if out_dict:
last_line = out_dict[max(out_dict)]
else:
last_line = None
for key in cur_keys - set(self.original_ns):
if key[0] == "_":
continue
value = namespace[key]
if isinstance(value, cdms2.dataset.CdmsFile):
namespace[key] = FileMetadataWrapper(value)
if is_cdms_var(value):
cdms_var = value()
cdms_var.id = key
if not self.variable_list.variable_exists(cdms_var):
self.variable_list.add_variable(cdms_var)
else:
self.variable_list.update_variable(cdms_var, key)
self.updatedVar.emit()
elif is_displayplot(value) and value not in self.display_plots:
self.display_plots.append(value)
self.createdPlot.emit(value)
if is_displayplot(last_line) and last_line not in self.display_plots:
self.display_plots.append(last_line)
self.createdPlot.emit(last_line)
def fixInvalidVariables(self, var):
var = re.sub(' +', '_', var)
var = re.sub("[^a-zA-Z0-9_]+", '', var)
if var in self.reserved_words or not re.match("^[a-zA-Z_]", var):
var = 'cdat_' + var
return var
def stop(self):
self.kernel_client.stop_channels()
self.kernel_manager.shutdown_kernel()
app.exit()