我正在尝试使用Thebe实验室从运行ielixir内核的jupyter笔记本中嵌入代码单元,这样我就可以在网站上创建一系列交互式的药剂练习。为了实现这一目标,我从文档中获取了最小的启动程序,并在第一个<script>
标记中更改了<script>
,并在最后更改了<pre>
标记中的默认代码部分。
下面是示例代码:
<body>
<script type="text/x-thebe-config">
{
requestKernel: true,
binderOptions: {
name: "Elixir",
repo: "J0/binder-el",
kernelName: "ielixir",
path: "./.local/share/jupyter/kernels/ielixir",
},
}
</script>
<script src="https://unpkg.com/thebelab@latest/lib/index.js"></script>
<button id="activateButton" style="width: 150px; height: 75px; font-size: 1.5em;">Activate</button>
<script>
var bootstrapThebe = function() {
thebelab.bootstrap();
}
document.querySelector("#activateButton").addEventListener('click', bootstrapThebe)
</script>
<pre data-executable="true" >IO.puts("Hello world")</pre>
</body>
存储库J0/粘合剂-el是一个存储库,其中有一个Dockerfile文件,其中包含按照长生不老药库运行Elixir内核所需的设置。在使用binder.org
之前,我已经对它进行了测试,并且能够在我创建的笔记本中成功地执行IO.puts("Hello world")
。
不幸的是,我感到有点困惑,因为尽管我指定了ipython
内核,但run按钮似乎是在执行kernelName: ielixir
内核。这是一张截图:
我只是想知道我是否遗漏了什么,或者是否有人建议我如何修改现有的设置以支持ielixir内核。
我还创建了一个关于thebelabs存储库的讨论线程,但我认为在这里发布这个问题是值得的,因为论坛似乎相对不活跃。
谢谢!
发布于 2020-11-25 04:00:58
因此,您需要配置两个选项。
<pre data-executable="true" data-language="ielixir">IO.puts("Hello world")</pre>
<script type="text/x-thebe-config">
{
requestKernel: true,
binderOptions: {
repo: "J0/binder-el",
},
kernelOptions: {
name: "Elixir",
kernelName: "ielixir",
}
}
</script>
<script src="https://unpkg.com/thebelab@latest/lib/index.js"></script>
请注意,kernelName
而不是name
应该是ielixir
。在那之后,它就能工作了!将写一篇博客文章,总结这个过程,并在短期内更新这个线程。
https://stackoverflow.com/questions/64955349
复制相似问题