本文整理汇总了Python中IPython.lib.backgroundjobs.BackgroundJobManager类的典型用法代码示例。如果您正苦于以下问题:Python BackgroundJobManager类的具体用法?Python BackgroundJobManager怎么用?Python BackgroundJobManager使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了BackgroundJobManager类的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: __init__
def __init__(self, shell=None):
Configurable.__init__(self, config=shell.config)
self._generate_script_magics()
Magics.__init__(self, shell=shell)
self.job_manager = BackgroundJobManager()
self.bg_processes = []
atexit.register(self.kill_bg_processes)
示例2: ScriptMagics
class ScriptMagics(Magics, Configurable):
"""Magics for talking to scripts
This defines a base `%%script` cell magic for running a cell
with a program in a subprocess, and registers a few top-level
magics that call %%script with common interpreters.
"""
script_magics = List(config=True,
help="""Extra script cell magics to define
This generates simple wrappers of `%%script foo` as `%%foo`.
If you want to add script magics that aren't on your path,
specify them in script_paths
""",
)
def _script_magics_default(self):
"""default to a common list of programs"""
defaults = [
'sh',
'bash',
'perl',
'ruby',
'python',
'python3',
'pypy',
]
if os.name == 'nt':
defaults.extend([
'cmd',
'powershell',
])
return defaults
script_paths = Dict(config=True,
help="""Dict mapping short 'ruby' names to full paths, such as '/opt/secret/bin/ruby'
Only necessary for items in script_magics where the default path will not
find the right interpreter.
"""
)
def __init__(self, shell=None):
Configurable.__init__(self, config=shell.config)
self._generate_script_magics()
Magics.__init__(self, shell=shell)
self.job_manager = BackgroundJobManager()
self.bg_processes = []
atexit.register(self.kill_bg_processes)
def __del__(self):
self.kill_bg_processes()
def _generate_script_magics(self):
cell_magics = self.magics['cell']
for name in self.script_magics:
cell_magics[name] = self._make_script_magic(name)
def _make_script_magic(self, name):
"""make a named magic, that calls %%script with a particular program"""
# expand to explicit path if necessary:
script = self.script_paths.get(name, name)
@magic_arguments.magic_arguments()
@script_args
def named_script_magic(line, cell):
# if line, add it as cl-flags
if line:
line = "%s %s" % (script, line)
else:
line = script
return self.shebang(line, cell)
# write a basic docstring:
named_script_magic.__doc__ = \
"""%%{name} script magic
Run cells with {script} in a subprocess.
This is a shortcut for `%%script {script}`
""".format(**locals())
return named_script_magic
@magic_arguments.magic_arguments()
@script_args
@cell_magic("script")
def shebang(self, line, cell):
"""Run a cell via a shell command
The `%%script` line is like the #! line of script,
specifying a program (bash, perl, ruby, etc.) with which to run.
The rest of the cell is run by that program.
Examples
--------
::
#.........这里部分代码省略.........
示例3: __init__
def __init__(self, shell=None):
super(ScriptMagics, self).__init__(shell=shell)
self._generate_script_magics()
self.job_manager = BackgroundJobManager()
self.bg_processes = []
atexit.register(self.kill_bg_processes)
示例4: __init__
def __init__(self, shell=None):
Configurable.__init__(self, config=shell.config)
self._generate_script_magics()
Magics.__init__(self, shell=shell)
self.job_manager = BackgroundJobManager()
示例5: __init__
def __init__(self, shell):
super(AnyBodyMagics,self).__init__(shell)
self.job_manager = BackgroundJobManager()
self.bg_processes = []
atexit.register(self.kill_bg_processes)
示例6: AnyBodyMagics
class AnyBodyMagics(Magics):
"""Magics for talking to scripts
This defines a base `%%script` cell magic for running a cell
with a program in a subprocess, and registers a few top-level
magics that call %%script with common interpreters.
"""
def __init__(self, shell):
super(AnyBodyMagics,self).__init__(shell)
self.job_manager = BackgroundJobManager()
self.bg_processes = []
atexit.register(self.kill_bg_processes)
def __del__(self):
self.kill_bg_processes()
@magic_arguments.magic_arguments()
@script_args
@cell_magic("anybody")
def run_cell(self, line, cell):
"""Run a cell via a shell command
The `%%anybody` invokes the anybody console application on the rest of
the cell.
Parameters
----------
--dir <Path>
--out <output var>
--bg <>
--proc <baground process variable >
--anybodycon <path to anybodycon>
Examples
--------
::
In [1]: %%anybody
...: load "mymodel.any"
...: operation Main.MyStudy.Kinematics
...: run
"""
argv = arg_split(line, posix = not sys.platform.startswith('win'))
args, dummy = self.run_cell.parser.parse_known_args(argv)
if args.anybodycon:
if os.path.exists(args.anybodycon):
abcpath = args.anybodycon
elif self.shell.user_ns.has_key(args.anybodycon):
abcpath = self.shell.user_ns[args.anybodycon]
elif sys.platform == 'win32':
import _winreg
try:
abpath = _winreg.QueryValue(_winreg.HKEY_CLASSES_ROOT,
'AnyBody.AnyScript\shell\open\command')
abpath = abpath.rsplit(' ',1)[0].strip('"')
abcpath = os.path.join(os.path.dirname(abpath),'AnyBodyCon.exe')
except:
raise Exception('Could not find AnyBody Modeling System in windows registry')
else:
raise Exception('Cannot find the specified anybodycon')
if not os.path.exists(abcpath):
raise Exception('Cannot find the specified anybodycon: %s'%abcpath)
if args.dir and os.path.isdir(args.dir):
folder = args.dir
elif self.shell.user_ns.has_key(args.dir):
folder = self.shell.user_ns[args.dir]
else:
folder = os.getcwd()
cell = cell.encode('utf8', 'replace')
macro = cell if cell.endswith('\n') else cell+'\n'
macrofile = NamedTemporaryFile(mode='w+b',
prefix ='macro_',
suffix='.anymcr',
dir= folder,
delete = False)
macrofile.write(macro)
macrofile.flush()
cmd = [abcpath ,'/d',folder, '--macro=', macrofile.name, '/ni', "1>&2"]
try:
p = Popen(cmd, stdout=PIPE, stderr=PIPE, stdin=PIPE, shell= True)
except OSError as e:
if e.errno == errno.ENOENT:
print "Couldn't find program: %r" % cmd[0]
return
else:
raise
if args.bg:
#.........这里部分代码省略.........
示例7: ScriptMagics
class ScriptMagics(Magics, Configurable):
"""Magics for talking to scripts
This defines a base `%%script` cell magic for running a cell
with a program in a subprocess, and registers a few top-level
magics that call %%script with common interpreters.
"""
script_magics = List(config=True,
help="""Extra script cell magics to define
This generates simple wrappers of `%%script foo` as `%%foo`.
If you want to add script magics that aren't on your path,
specify them in script_paths
""",
)
def _script_magics_default(self):
"""default to a common list of programs if we find them"""
defaults = []
to_try = []
if os.name == 'nt':
defaults.append('cmd')
to_try.append('powershell')
to_try.extend([
'sh',
'bash',
'perl',
'ruby',
'python3',
'pypy',
])
for cmd in to_try:
if cmd in self.script_paths:
defaults.append(cmd)
else:
try:
find_cmd(cmd)
except FindCmdError:
# command not found, ignore it
pass
except ImportError:
# Windows without pywin32, find_cmd doesn't work
pass
else:
defaults.append(cmd)
return defaults
script_paths = Dict(config=True,
help="""Dict mapping short 'ruby' names to full paths, such as '/opt/secret/bin/ruby'
Only necessary for items in script_magics where the default path will not
find the right interpreter.
"""
)
def __init__(self, shell=None):
Configurable.__init__(self, config=shell.config)
self._generate_script_magics()
Magics.__init__(self, shell=shell)
self.job_manager = BackgroundJobManager()
def _generate_script_magics(self):
cell_magics = self.magics['cell']
for name in self.script_magics:
cell_magics[name] = self._make_script_magic(name)
def _make_script_magic(self, name):
"""make a named magic, that calls %%script with a particular program"""
# expand to explicit path if necessary:
script = self.script_paths.get(name, name)
@magic_arguments.magic_arguments()
@script_args
def named_script_magic(line, cell):
# if line, add it as cl-flags
if line:
line = "%s %s" % (script, line)
else:
line = script
return self.shebang(line, cell)
# write a basic docstring:
named_script_magic.__doc__ = \
"""%%{name} script magic
Run cells with {script} in a subprocess.
This is a shortcut for `%%script {script}`
""".format(**locals())
return named_script_magic
@magic_arguments.magic_arguments()
@script_args
@cell_magic("script")
def shebang(self, line, cell):
"""Run a cell via a shell command
#.........这里部分代码省略.........