本文整理汇总了Python中IPython.kernel.KernelManager.load_connection_file方法的典型用法代码示例。如果您正苦于以下问题:Python KernelManager.load_connection_file方法的具体用法?Python KernelManager.load_connection_file怎么用?Python KernelManager.load_connection_file使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IPython.kernel.KernelManager
的用法示例。
在下文中一共展示了KernelManager.load_connection_file方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: km_from_string
# 需要导入模块: from IPython.kernel import KernelManager [as 别名]
# 或者: from IPython.kernel.KernelManager import load_connection_file [as 别名]
def km_from_string(s=''):
"""create kernel manager from IPKernelApp string
such as '--shell=47378 --iopub=39859 --stdin=36778 --hb=52668' for IPython 0.11
or just 'kernel-12345.json' for IPython 0.12
"""
global km, kc, send
from os.path import join as pjoin
from IPython.config.loader import KeyValueConfigLoader
try:
from IPython.kernel import (
KernelManager,
find_connection_file,
)
except ImportError:
from IPython.zmq.blockingkernelmanager import BlockingKernelManager as KernelManager
from IPython.zmq.kernelapp import kernel_aliases
from IPython.lib.kernel import find_connection_file
s = s.replace('--existing', '')
if '--profile' in s:
k,p = s.split('--profile')
k = k.lstrip().rstrip() # kernel part of the string
p = p.lstrip().rstrip() # profile part of the string
fullpath = find_connection_file(k,p)
else:
fullpath = find_connection_file(s.lstrip().rstrip())
km = KernelManager(connection_file = fullpath)
km.load_connection_file()
km.start_channels()
send = km.shell_channel.execute # not sure if this should be changed as well
respond(None, "python.client.error.ipython-version", None)
return
s = s.replace('--existing', '')
if '--profile' in s:
k,p = s.split('--profile')
k = k.lstrip().rstrip() # kernel part of the string
p = p.lstrip().rstrip() # profile part of the string
fullpath = find_connection_file(k,p)
else:
fullpath = find_connection_file(s.lstrip().rstrip())
km = KernelManager(connection_file = fullpath)
km.load_connection_file()
kc = km.client()
kc.start_channels()
send = kc.execute
return km
示例2: km_from_string
# 需要导入模块: from IPython.kernel import KernelManager [as 别名]
# 或者: from IPython.kernel.KernelManager import load_connection_file [as 别名]
def km_from_string(s=''):
"""create kernel manager from IPKernelApp string
such as '--shell=47378 --iopub=39859 --stdin=36778 --hb=52668' for IPython 0.11
or just 'kernel-12345.json' for IPython 0.12
"""
try:
import IPython
except ImportError:
raise ImportError("Could not find IPython. " + _install_instructions)
from IPython.config.loader import KeyValueConfigLoader
try:
from IPython.kernel import (
KernelManager,
find_connection_file,
)
except ImportError:
# IPython < 1.0
from IPython.zmq.blockingkernelmanager import BlockingKernelManager as KernelManager
from IPython.zmq.kernelapp import kernel_aliases
try:
from IPython.lib.kernel import find_connection_file
except ImportError:
# < 0.12, no find_connection_file
pass
global km, kc, send
s = s.replace('--existing', '')
if 'connection_file' in KernelManager.class_trait_names():
# 0.12 uses files instead of a collection of ports
# include default IPython search path
# filefind also allows for absolute paths, in which case the search
# is ignored
try:
# XXX: the following approach will be brittle, depending on what
# connection strings will end up looking like in the future, and
# whether or not they are allowed to have spaces. I'll have to sync
# up with the IPython team to address these issues -pi
if '--profile' in s:
k,p = s.split('--profile')
k = k.lstrip().rstrip() # kernel part of the string
p = p.lstrip().rstrip() # profile part of the string
fullpath = find_connection_file(k,p)
else:
fullpath = find_connection_file(s.lstrip().rstrip())
except IOError as e:
echo(":IPython " + s + " failed", "Info")
echo("^-- failed '" + s + "' not found", "Error")
return
km = KernelManager(connection_file = fullpath)
km.load_connection_file()
else:
if s == '':
echo(":IPython 0.11 requires the full connection string")
return
loader = KeyValueConfigLoader(s.split(), aliases=kernel_aliases)
cfg = loader.load_config()['KernelApp']
try:
km = KernelManager(
shell_address=(ip, cfg['shell_port']),
sub_address=(ip, cfg['iopub_port']),
stdin_address=(ip, cfg['stdin_port']),
hb_address=(ip, cfg['hb_port']))
except KeyError as e:
echo(":IPython " +s + " failed", "Info")
echo("^-- failed --"+e.message.replace('_port','')+" not specified", "Error")
return
try:
kc = km.client()
except AttributeError:
# 0.13
kc = km
kc.start_channels()
send = kc.shell_channel.execute
#XXX: backwards compatibility for IPython < 0.13
import inspect
sc = kc.shell_channel
num_oinfo_args = len(inspect.getargspec(sc.object_info).args)
if num_oinfo_args == 2:
# patch the object_info method which used to only take one argument
klass = sc.__class__
klass._oinfo_orig = klass.object_info
klass.object_info = lambda s,x,y: s._oinfo_orig(x)
#XXX: backwards compatibility for IPython < 1.0
if not hasattr(kc, 'iopub_channel'):
kc.iopub_channel = kc.sub_channel
# now that we're connect to an ipython kernel, activate completion
# machinery, but do so only for the local buffer if the user added the
# following line the vimrc:
# let g:ipy_completefunc = 'local'
vim.command("""
if g:ipy_completefunc == 'global'
set completefunc=CompleteIPython
elseif g:ipy_completefunc == 'local'
setl completefunc=CompleteIPython
endif
#.........这里部分代码省略.........
示例3: find_connection_file
# 需要导入模块: from IPython.kernel import KernelManager [as 别名]
# 或者: from IPython.kernel.KernelManager import load_connection_file [as 别名]
import re
from IPython.kernel import KernelManager, find_connection_file
# Connection file of most recently launched kernel instance
cf_name = ''
cf = find_connection_file(cf_name)
# FIXME: this gets the wrong pid (the connected client's)
# We want the pid of the kernel to send interrupts to.
# One hacky approach is to ask the kernel to os.getpid(),
# assuming it's responsive (see vim-ipython).
pid = int(re.findall(r'kernel-(\d+)\.json', cf)[0])
# Connect to kernel
km = KernelManager(connection_file=cf)
km.load_connection_file()
client = km.client()
client.start_channels()
# Propagate SIGTERM from sublime as SIGINT to kernel
def interrupt_handler(signum, frame):
os.kill(pid, signal.SIGINT)
sys.exit(130)
signal.signal(signal.SIGTERM, interrupt_handler)
# Code is sent over the shell channel.
# Execution runs asynchronously in the kernel process.
code = sys.argv[1]
msg_id = client.execute(code)
# Block for a response from the kernel