Github活页夹requirements.txt

问题描述 投票:0回答:1

例如,我有一个名为notebooks_examples的github存储库。在此存储库中,我有几个文件夹,每个文件夹包含一个不同的jupyter笔记本,我想通过MyBinder执行该文件夹。所有这些笔记本电脑彼此独立,并且可能需要不同的包装才能正常运行。如何让每个笔记本有不同的“ requirements.txt”文件?

我知道我可以在存储库的根目录中只有一个,但是这意味着它可以防止使用同一软件包的不同版本;这也意味着,在运行给定的笔记本时,即使在这种情况下不需要任何软件包,也将安装所有软件包。

我还看到我可以将配置文件放在名为“ binder”的文件夹中,但是我没有这样做。我尝试的结构如下。我在notebooks_examples/notebook_1/README.md有一个自述文件,在这里有2个文件:notebooks_examples/notebook_1/binder/{notebook_1.ipynb,requirements.txt}。但是,当我随后通过Binder启动笔记本电脑时,我的所有导入都无法工作,好像没有看到配置文件一样。

有没有一种方法,而不必为每个新笔记本创建新的存储库?还是因为活页夹的工作原理这根本不可能吗?

例如,我有一个名为notebooks_examples的github存储库。在此存储库中,我有几个文件夹,每个文件夹包含一个不同的jupyter笔记本,我想通过MyBinder执行该文件夹。全部...

python github jupyter-notebook android-binder
1个回答
0
投票

[当前,每个存储库(或存储库)对应于将由repo2docker创建的环境,该环境是Binderhub的环境部分构建的基础技术。 (MyBinder.org是公共Binderhub的面向公众的联合会。)并且配置文件位于根目录或binder/目录中,并且不能位于相对于存储库根目录的其他任何位置,请参见here。因此,目前您无法摆脱针对每个所需环境至少拥有一个存储库的麻烦;但是,除非您的所有笔记本完全需要不同的环境,否则您将不需要为每个笔记本使用单独的存储库。

另外,您的笔记本可以保留在Github中的当前位置,并且您可以为每个笔记本放置launch binder链接,这些链接将启动与特定笔记本(或笔记本集合)和正确环境的会话。概述了一种方法here。但是,根据您的情况,nbgitpuller会在您当前拥有的所有笔记本中进行复制,然后打开一个特定的笔记本。如果您设置了每个所需环境的存储库,然后创建所需的URL,那么对于您所描述的内容可能会很好地工作。作为nbgitpuller的替代方法,您可以在[环境]存储库中指定要使用的笔记本,以及使用start config file将其放置在何处的位置,您可以使用start从包含所有内容的存储库中获取特定的笔记本。与curl类似的使用start的示例。因此,对于您的特定情况,您可能需要确定可以将哪些笔记本块放置在一起并为每个环境创建一个存储库。然后,here文件将在会话启动时检索那些笔记本。然后,可以使用从start配置的启动按钮URL,以指定在会话启动时打开哪个特定笔记本。

© www.soinside.com 2019 - 2024. All rights reserved.