问题描述
从笔记本中调用Python代码时,是否可以确定笔记本是否是旧笔记本而不是JupyterLab?
这个问题的背景是我想在笔记本中内嵌显示一些启用Javascript的内容。对于普通笔记本电脑,我有各种各样的好东西(require.js,能够执行脚本,访问Jupyter.notebook.kernel.execute
等)。在JupyterLab中,为了安全起见,所有这些都已删除。
我不是对JupyterLab中的更改提出质疑,但是我确实需要确定那些“ Javascript好东西”是否可用。如果不是,那么我将编写一个临时的html页面并打开一个指向它的Web浏览器-不太好,但是直到我决定编写一个实验室扩展并且用户决定安装它时,它才会起作用。
那么,如何确定我是否在常规笔记本与实验室中运行?
我遇到潜在解决方案的挑战是:
- 在我的Python代码返回之后,我使用
display(Javascript(...))
在Javascript中执行的所有操作都是异步运行的。所以我不能简单地写if call_javascript() == 'notebook'
之类的东西。 - 如果我允许Javascript的异步特性并传递回调,则该方法仅适用于普通笔记本。 JupyterLab无法给我回电。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)