首页 > 解决方案 > 与网络上的任何人共享交互式 python jupyter 笔记本,其中包含另一个文件 (.py) 中的依赖文件和函数:Colab 还是其他?

问题描述

使用用户定义的模块和依赖输入文件共享交互式 python Jupyter 笔记本的免费解决方案是什么?

我有 python Jupyter notebook,用作非技术用户的代码接口。代码本身位于另一个文件code.py中,其中包含根据需要从 python Jupyter notebook 调用的许多函数。运行这些函数需要大约 10 个大小为 100 mb 的输入文件。我希望网络上的任何人都可以在可执行环境中打开此笔记本,以便用户可以使用不同的用户选择运行代码。

我考虑实施的一种方法是使用 Google Colab、Google Drive、GitHub 和
Python 包索引 (PyPI),如下所示:

  1. 打包code.py为 PyPI 模块
  2. 在 Google Drive 上添加依赖的输入文件并获取它们的共享链接 ID
  3. 在 GitHub 上添加 Colab 笔记本
  4. 用户运行 Colab 笔记本后,它将 pip install 并导入函数code.py并从 Google Drive 下载依赖的输入文件

如何改进或简化这种方法?
什么是更好的基于 Colab 的方法来完成这项工作?
是否有任何其他环境(例如,Binder)比 Colab 更适合这项工作?

标签: pythongithubjupyter-notebookgoogle-colaboratoryinteractive

解决方案


您可以使用 MyBinder.org 并在postBuild 或启动配置文件中使用 curl 或 wget来获取您的输入文件(如果它们在其他地方)。

对于非技术用户,您可能希望结合使用 Voila 和 myBinder.org。请参阅此处了解关于 Voila 的信息。有一个launch binder可以用来演示的徽章。Voila Gallery的 MyBinder 上还有许多其他示例。


推荐阅读