如何在 sandstorm.io/ipython 应用程序中安装 python 模块?
How to install python modules in sandstorm.io/ipython app?
我安装了一个自托管的 sandstorm.io instance with the ipython 应用程序。
如何安装 python 模块以便可以从 ipython 笔记本访问它们?
Ipython 打包在带有预装模块的沙尘暴应用程序中。由于应用程序在沙盒中,pip install sympy
是不够的。
不幸的是,这目前是不可能的,因为在 Sandstorm 容器内,应用程序代码是只读的。要完成这项工作,我们需要执行以下操作之一:
- IPython 应用程序可以设计为将包下载并安装到 /var 中,这是可写的但特定于一个笔记本。这可能只需对应用程序进行较小的更改即可完成。缺点是您必须为您创建的每个笔记本重新安装模块,浪费时间和存储空间 space。 (IPython 还需要在下载任何内容之前明确请求与包存储库对话的权限。)
- Sandstorm 可以实现我们称为 "add-on packages" 的计划功能,这将允许定义一个 SPK(Sandstorm 包),它将文件添加到其他一些 SPK。然后,需要将 Python 包转换为此类 SPK(这部分可能是自动化的)。然后,您可以一次在所有笔记本上安装模块。遗憾的是,我们不确定多快可以添加此功能。
我安装了一个自托管的 sandstorm.io instance with the ipython 应用程序。
如何安装 python 模块以便可以从 ipython 笔记本访问它们?
Ipython 打包在带有预装模块的沙尘暴应用程序中。由于应用程序在沙盒中,pip install sympy
是不够的。
不幸的是,这目前是不可能的,因为在 Sandstorm 容器内,应用程序代码是只读的。要完成这项工作,我们需要执行以下操作之一:
- IPython 应用程序可以设计为将包下载并安装到 /var 中,这是可写的但特定于一个笔记本。这可能只需对应用程序进行较小的更改即可完成。缺点是您必须为您创建的每个笔记本重新安装模块,浪费时间和存储空间 space。 (IPython 还需要在下载任何内容之前明确请求与包存储库对话的权限。)
- Sandstorm 可以实现我们称为 "add-on packages" 的计划功能,这将允许定义一个 SPK(Sandstorm 包),它将文件添加到其他一些 SPK。然后,需要将 Python 包转换为此类 SPK(这部分可能是自动化的)。然后,您可以一次在所有笔记本上安装模块。遗憾的是,我们不确定多快可以添加此功能。