|
108 | 108 | from ._tz import utcnow, utcfromtimestamp |
109 | 109 | from .utils import url_path_join, check_pid, url_escape, urljoin, pathname2url |
110 | 110 |
|
| 111 | +# Check if we can user async kernel management |
| 112 | +try: |
| 113 | + from jupyter_client import AsyncMultiKernelManager |
| 114 | + async_kernel_mgmt_available = True |
| 115 | +except ImportError: |
| 116 | + async_kernel_mgmt_available = False |
| 117 | + |
111 | 118 | #----------------------------------------------------------------------------- |
112 | 119 | # Module globals |
113 | 120 | #----------------------------------------------------------------------------- |
@@ -1375,18 +1382,21 @@ def init_configurables(self): |
1375 | 1382 | self.kernel_spec_manager = self.kernel_spec_manager_class( |
1376 | 1383 | parent=self, |
1377 | 1384 | ) |
| 1385 | + |
1378 | 1386 | self.kernel_manager = self.kernel_manager_class( |
1379 | 1387 | parent=self, |
1380 | 1388 | log=self.log, |
1381 | 1389 | connection_dir=self.runtime_dir, |
1382 | 1390 | kernel_spec_manager=self.kernel_spec_manager, |
1383 | 1391 | ) |
1384 | 1392 | # Ensure the appropriate jupyter_client is in place. |
1385 | | - # TODO: remove once dependencies are updated. |
1386 | 1393 | if isinstance(self.kernel_manager, AsyncMappingKernelManager): |
1387 | | - if not hasattr(self.kernel_manager, 'list_kernel_ids'): |
1388 | | - raise RuntimeError("Using `AsyncMappingKernelManager` without an appropriate " |
1389 | | - "jupyter_client installed! Upgrade jupyter_client and try again.") |
| 1394 | + if not async_kernel_mgmt_available: |
| 1395 | + raise ValueError("You're using `AsyncMappingKernelManager` without an appropriate " |
| 1396 | + "jupyter_client installed! Upgrade jupyter_client or change kernel managers.") |
| 1397 | + else: |
| 1398 | + self.log.info("Asynchronous kernel management has been configured via '{}'.". |
| 1399 | + format(self.kernel_manager.__class__.__name__)) |
1390 | 1400 |
|
1391 | 1401 | self.contents_manager = self.contents_manager_class( |
1392 | 1402 | parent=self, |
|
0 commit comments