Show More
@@ -291,7 +291,11 b' class IPythonConsoleApp(ConnectionFileMixin):' | |||
|
291 | 291 | self.exit(1) |
|
292 | 292 | |
|
293 | 293 | self.kernel_manager.client_factory = self.kernel_client_class |
|
294 | self.kernel_manager.start_kernel(extra_arguments=self.kernel_argv) | |
|
294 | # FIXME: remove special treatment of IPython kernels | |
|
295 | kwargs = {} | |
|
296 | if self.kernel_manager.ipython_kernel: | |
|
297 | kwargs['extra_arguments'] = self.kernel_argv | |
|
298 | self.kernel_manager.start_kernel(**kwargs) | |
|
295 | 299 | atexit.register(self.kernel_manager.cleanup_ipc_files) |
|
296 | 300 | |
|
297 | 301 | if self.sshserver: |
@@ -324,7 +324,7 b' class NotebookApp(BaseIPythonApplication):' | |||
|
324 | 324 | list=(NbserverListApp, NbserverListApp.description.splitlines()[0]), |
|
325 | 325 | ) |
|
326 | 326 | |
|
327 | kernel_argv = List(Unicode) | |
|
327 | ipython_kernel_argv = List(Unicode) | |
|
328 | 328 | |
|
329 | 329 | _log_formatter_cls = LogFormatter |
|
330 | 330 | |
@@ -683,16 +683,17 b' class NotebookApp(BaseIPythonApplication):' | |||
|
683 | 683 | self.update_config(c) |
|
684 | 684 | |
|
685 | 685 | def init_kernel_argv(self): |
|
686 | """construct the kernel arguments""" | |
|
686 | """add the profile-dir to arguments to be passed to IPython kernels""" | |
|
687 | # FIXME: remove special treatment of IPython kernels | |
|
687 | 688 | # Kernel should get *absolute* path to profile directory |
|
688 | self.kernel_argv = ["--profile-dir", self.profile_dir.location] | |
|
689 | self.ipython_kernel_argv = ["--profile-dir", self.profile_dir.location] | |
|
689 | 690 | |
|
690 | 691 | def init_configurables(self): |
|
691 | 692 | # force Session default to be secure |
|
692 | 693 | default_secure(self.config) |
|
693 | 694 | kls = import_item(self.kernel_manager_class) |
|
694 | 695 | self.kernel_manager = kls( |
|
695 | parent=self, log=self.log, kernel_argv=self.kernel_argv, | |
|
696 | parent=self, log=self.log, ipython_kernel_argv=self.ipython_kernel_argv, | |
|
696 | 697 | connection_dir = self.profile_dir.security_dir, |
|
697 | 698 | ) |
|
698 | 699 | kls = import_item(self.contents_manager_class) |
@@ -1,35 +1,22 b'' | |||
|
1 |
"""A |
|
|
1 | """A MultiKernelManager for use in the notebook webserver | |
|
2 | 2 | |
|
3 | Authors: | |
|
4 | ||
|
5 | * Brian Granger | |
|
3 | - raises HTTPErrors | |
|
4 | - creates REST API models | |
|
6 | 5 | """ |
|
7 | 6 | |
|
8 | #----------------------------------------------------------------------------- | |
|
9 | # Copyright (C) 2013 The IPython Development Team | |
|
10 | # | |
|
11 | # Distributed under the terms of the BSD License. The full license is in | |
|
12 | # the file COPYING, distributed as part of this software. | |
|
13 | #----------------------------------------------------------------------------- | |
|
14 | ||
|
15 | #----------------------------------------------------------------------------- | |
|
16 | # Imports | |
|
17 | #----------------------------------------------------------------------------- | |
|
7 | # Copyright (c) IPython Development Team. | |
|
8 | # Distributed under the terms of the Modified BSD License. | |
|
18 | 9 | |
|
19 | 10 | import os |
|
20 | 11 | |
|
21 | 12 | from tornado import web |
|
22 | 13 | |
|
23 | 14 | from IPython.kernel.multikernelmanager import MultiKernelManager |
|
24 |
from IPython.utils.traitlets import |
|
|
15 | from IPython.utils.traitlets import Unicode, TraitError | |
|
25 | 16 | |
|
26 | 17 | from IPython.html.utils import to_os_path |
|
27 | 18 | from IPython.utils.py3compat import getcwd |
|
28 | 19 | |
|
29 | #----------------------------------------------------------------------------- | |
|
30 | # Classes | |
|
31 | #----------------------------------------------------------------------------- | |
|
32 | ||
|
33 | 20 | |
|
34 | 21 | class MappingKernelManager(MultiKernelManager): |
|
35 | 22 | """A KernelManager that handles notebook mapping and HTTP error handling""" |
@@ -37,8 +24,6 b' class MappingKernelManager(MultiKernelManager):' | |||
|
37 | 24 | def _kernel_manager_class_default(self): |
|
38 | 25 | return "IPython.kernel.ioloop.IOLoopKernelManager" |
|
39 | 26 | |
|
40 | kernel_argv = List(Unicode) | |
|
41 | ||
|
42 | 27 | root_dir = Unicode(getcwd(), config=True) |
|
43 | 28 | |
|
44 | 29 | def _root_dir_changed(self, name, old, new): |
@@ -89,7 +74,6 b' class MappingKernelManager(MultiKernelManager):' | |||
|
89 | 74 | an existing kernel is returned, but it may be checked in the future. |
|
90 | 75 | """ |
|
91 | 76 | if kernel_id is None: |
|
92 | kwargs['extra_arguments'] = self.kernel_argv | |
|
93 | 77 | if path is not None: |
|
94 | 78 | kwargs['cwd'] = self.cwd_for_path(path) |
|
95 | 79 | kernel_id = super(MappingKernelManager, self).start_kernel( |
@@ -13,7 +13,7 b' import zmq' | |||
|
13 | 13 | from IPython.config.configurable import LoggingConfigurable |
|
14 | 14 | from IPython.utils.importstring import import_item |
|
15 | 15 | from IPython.utils.traitlets import ( |
|
16 | Instance, Dict, Unicode, Any, DottedObjectName | |
|
16 | Instance, Dict, List, Unicode, Any, DottedObjectName | |
|
17 | 17 | ) |
|
18 | 18 | from IPython.utils.py3compat import unicode_type |
|
19 | 19 | |
@@ -42,6 +42,8 b' def kernel_method(f):' | |||
|
42 | 42 | class MultiKernelManager(LoggingConfigurable): |
|
43 | 43 | """A class for managing multiple kernels.""" |
|
44 | 44 | |
|
45 | ipython_kernel_argv = List(Unicode) | |
|
46 | ||
|
45 | 47 | default_kernel_name = Unicode(NATIVE_KERNEL_NAME, config=True, |
|
46 | 48 | help="The name of the default kernel to start" |
|
47 | 49 | ) |
@@ -104,6 +106,9 b' class MultiKernelManager(LoggingConfigurable):' | |||
|
104 | 106 | self.connection_dir, "kernel-%s.json" % kernel_id), |
|
105 | 107 | parent=self, autorestart=True, log=self.log, kernel_name=kernel_name, |
|
106 | 108 | ) |
|
109 | # FIXME: remove special treatment of IPython kernels | |
|
110 | if km.ipython_kernel: | |
|
111 | kwargs.setdefault('extra_arguments', self.ipython_kernel_argv) | |
|
107 | 112 | km.start_kernel(**kwargs) |
|
108 | 113 | self._kernels[kernel_id] = km |
|
109 | 114 | return kernel_id |
@@ -193,8 +193,10 b' class IPythonQtConsoleApp(BaseIPythonApplication, IPythonConsoleApp):' | |||
|
193 | 193 | autorestart=True, |
|
194 | 194 | ) |
|
195 | 195 | # start the kernel |
|
196 |
kwargs = |
|
|
197 | kwargs['extra_arguments'] = self.kernel_argv | |
|
196 | kwargs = {} | |
|
197 | # FIXME: remove special treatment of IPython kernels | |
|
198 | if self.kernel_manager.ipython_kernel: | |
|
199 | kwargs['extra_arguments'] = self.kernel_argv | |
|
198 | 200 | kernel_manager.start_kernel(**kwargs) |
|
199 | 201 | kernel_manager.client_factory = self.kernel_client_class |
|
200 | 202 | kernel_client = kernel_manager.client() |
General Comments 0
You need to be logged in to leave comments.
Login now