gpt4 book ai didi

ipython - 跨多个 ipython 笔记本共享命名空间

转载 作者:行者123 更新时间:2023-12-04 11:25:21 25 4
gpt4 key购买 nike

我想同时使用多个共享相同命名空间的 ipython 笔记本。目前(ipython-1.1.0)有没有办法做到这一点?

我尝试在同一个 ipython 内核上创建不同的笔记本,但这些笔记本不共享命名空间。此外,我已经能够使用 Using IPython console along side IPython notebook 中的答案在同一命名空间上的笔记本旁边使用终端控制台。 ,但我找不到与 --existing 参数等效的笔记本。

非常感谢

最佳答案

不幸的是,这不再有效,您会收到错误消息 ipython.kernel 替换为 ipython.parallel。

一种比上面更不优雅的方法来改变它是在第 273 行周围更改 IPython/frontend/html/notebook/kernelmanager.py

kernel_id = self.kernel_for_notebook(notebook_id)


kernel_id = None
for notebook_id in self._notebook_mapping:
kernel_id = self._notebook_mapping[notebook_id]
break

对于 Anaconda python,将 kernelmanager.py 中的 start_kernel 替换为
def start_kernel(self, kernel_id=None, path=None, **kwargs):
global saved_kernel_id
if saved_kernel_id:
return saved_kernel_id
if kernel_id is None:
kwargs['extra_arguments'] = self.kernel_argv
if path is not None:
kwargs['cwd'] = self.cwd_for_path(path)
kernel_id = super(MappingKernelManager, self).start_kernel(**kwargs)
self.log.info("Kernel started: %s" % kernel_id)
self.log.debug("Kernel args: %r" % kwargs)
self.add_restart_callback(kernel_id,
lambda : self._handle_kernel_died(kernel_id),
'dead',
)
else:
self._check_kernel_id(kernel_id)
self.log.info("Using existing kernel: %s" % kernel_id)
saved_kernel_id = kernel_id
return kernel_id

并添加
    saved_kernel_id = None

以上
    class MappingKernelManager(MultiKernelManager):

真正的 IPython 大师,请提供正确的修复。很多使用 notebook 的人都希望能够共享内核,这是很自然的,因为一个 notebook 很快就会变得太大而无法处理单个复杂的应用程序,因此能够更容易地将应用程序分解为多个 notebook。

另外,大师们,当您在聆听时,如果有 Mathematica 中的折叠-展开功能会很好,这样您就可以只查看笔记本中您关心的部分,而可以缩小其余部分。

关于ipython - 跨多个 ipython 笔记本共享命名空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20091154/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com