如何设置带有calysto处理功能的Jupyter笔记本以在Binder中运行?

Cel*_*ipe 7 python processing jupyter-notebook android-binder

我在自己的Mac上运行了,并插入了caylsto-processing库,因此我可以在浏览器选项卡的笔记本中运行处理脚本。但是我试图能够在活页夹中全部运行,以便我可以在上课时与学生共享我的处理脚本。我创建了一个Github存储库,并将其链接到活页夹,该活页夹可以构建和启动,但是唯一可用的内核是python 3。

我已经读到我可以包含一堆配置文件,但是我是其中的新手,而且我看不到任何引入calysto处理内核的示例,因此我不确定如何进行。

我的活页夹和带有处理脚本的jupyter-notebook的屏幕快照-但是,当您单击内核时,它显示的唯一内核是python: 我的活页夹和带有处理脚本的jupyter-notebook的屏幕快照-但是,当您单击内核时,它显示的唯一内核是python

任何帮助,将不胜感激。

Geo*_*nza 3

非常好的问题。艾曼的建议很好。

我刚刚安装calysto_processing并注意到 3 件事是必要的:

  1. calysto_processing通过 pip安装包,
  2. 在包上运行安装calysto_processing
  3. 安装处理。

第一点应该很容易使用requirements.txt

我不确定第二步的最佳选择是什么(也许是自定义 setup.py ?)。

第3步感觉是最棘手的。

目前不支持安装处理,apt-get因此Dockerfile可能是一种前进的方式(即使mybinder建议仅将其作为最后的手段)。

假设 Dockerfile 包含手动下载/安装处理的所有步骤(顺便说一句,我目前对 Docker 还没有太多经验),需要执行它,这需要窗口系统来渲染处理窗口。我不知道它与 Docker 的配合如何,听起来它正在进入虚拟机领域。

话虽这么说,看看这里的源代码

  1. 处理仅用于验证草图,并提取语法错误以显示它们。
  2. ProcessingJS 用于在<canvas/>Jupyter Notebook 中的元素中实际渲染处理代码

我不确定按原样运行电流的最简单方法是calysto_processing什么mybinder

我的务实(如果你愿意的话,甚至可以说是老套)建议是:

  1. 分叉项目并删除processing-java依赖项(这意味着可能会丢失错误检查)
  2. 通过 pip/requirements.txt 安装克隆/调整版本(pip 可以从 github 存储库安装包)

更新我已经尝试过上述操作:您可以在此处运行测试内核

mybinder在线共享Jupyter Notebook中的ProcessingJS

源代码在这里,模块是从这个分支安装的,它只是注释掉了processing-java部分。

就配置而言,mybinder它归结为:

  • 在包含笔记本的存储库中创建一个活页夹文件夹
  • 添加requirements.txt,它指向calysto_processing删除processing-java依赖项的调整版本:git+https://github.com/orgicus/calysto_processing.git@hotfix/PJS-only-test
  • 添加在模块上运行安装的postBuildcalysto_processing文件:python -m calysto_processing install --user

笔记

  • 有了这个解决方法,java错误检查就消失了
  • 虽然使用了Processing语法,但它作为javascript执行并<canvas/>使用ProcessingJS呈现:这意味着没有处理java库,没有线程或其他java特定功能(有缺陷或没有3D)等。只是基本的加工绘图草图
  • 也许值得考虑用p5.js替换ProcessingJS并查看其他 JS 笔记本?(例如ObservableIJavascript