Show More
@@ -20,6 +20,7 b' import warnings' | |||||
20 |
|
20 | |||
21 | import zmq |
|
21 | import zmq | |
22 |
|
22 | |||
|
23 | from IPython.config.configurable import MultipleInstanceError | |||
23 | from IPython.zmq import check_for_zmq |
|
24 | from IPython.zmq import check_for_zmq | |
24 |
|
25 | |||
25 | if os.name == 'nt': |
|
26 | if os.name == 'nt': | |
@@ -51,12 +52,23 b' def bind_kernel(**kwargs):' | |||||
51 |
|
52 | |||
52 | This function returns immediately. |
|
53 | This function returns immediately. | |
53 | """ |
|
54 | """ | |
|
55 | from IPython.zmq.ipkernel import IPKernelApp | |||
54 | from IPython.parallel.apps.ipengineapp import IPEngineApp |
|
56 | from IPython.parallel.apps.ipengineapp import IPEngineApp | |
|
57 | ||||
|
58 | # first check for IPKernelApp, in which case this should be a no-op | |||
|
59 | # because there is already a bound kernel | |||
|
60 | if IPKernelApp.initialized() and isinstance(IPKernelApp._instance, IPKernelApp): | |||
|
61 | return | |||
|
62 | ||||
55 | if IPEngineApp.initialized(): |
|
63 | if IPEngineApp.initialized(): | |
56 | app = IPEngineApp.instance() |
|
64 | try: | |
57 | else: |
|
65 | app = IPEngineApp.instance() | |
58 | raise RuntimeError("Must be called from an IPEngineApp instance") |
|
66 | except MultipleInstanceError: | |
|
67 | pass | |||
|
68 | else: | |||
|
69 | return app.bind_kernel(**kwargs) | |||
|
70 | ||||
|
71 | raise RuntimeError("bind_kernel be called from an IPEngineApp instance") | |||
59 |
|
72 | |||
60 | return app.bind_kernel(**kwargs) |
|
|||
61 |
|
73 | |||
62 |
|
74 |
General Comments 0
You need to be logged in to leave comments.
Login now