如何在 Jupyterhub/Jupyterlab 中初始化笔记本/工作目录的内容?

2024-02-02

如果我在 JupyterHub 中创建一个新用户,我希望使用一些入门示例来初始化相应 JupyterLab 实例的工作目录:

我已经安装了 Jupyterlab 的 git 扩展。有没有办法自动为新用户克隆 git 存储库?

这是关于 Spawners 的文档:https://jupyterhub.readthedocs.io/en/stable/reference/spawners.html https://jupyterhub.readthedocs.io/en/stable/reference/spawners.html

我可以找到有关工作区初始化的提示。


Spawner在配置文件中提供了一些钩子函数jupyterhub_config.py。并且可以从钩子函数中获取当前用户名。

import subprocess

def git(*args):
    return subprocess.check_call(['git'] + list(args))
    
def init_working_directory(spawner):
    username = spawner.user.name
    git_source = 'https://$user:[email protected] /cdn-cgi/l/email-protection/my/project'
    target_folder = '/home/' + username + '/GettingStarted'
    git('clone', git_source, target_folder)
    
c.Spawner.pre_spawn_hook = init_working_directory

还剩下几个问题:

a) git clone 命令仅在第一次时有效,当文件夹 /home/用户名/入门 尚不存在。

b) 延迟日志期间没有显示进度条,并且 git clone 命令需要一段时间。

c) Git 密码可能会显示在错误消息/控制台中。

因此,我最初会在创建 Docker 容器时执行 git 克隆,并且仅在 GettingStarted 文件夹尚不存在时才在 pre_spawn_hook 中执行本地副本。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Jupyterhub/Jupyterlab 中初始化笔记本/工作目录的内容? 的相关文章

随机推荐

  • Glyphicon 在 bootstrap 版本 4.1 及更高版本中不起作用

    我试图展示一个搜索图标形式 但唯一的按钮显示没有字形
  • 将数据文件添加到python项目setup.py

    我有一个这样的项目 CHANGES txt LICENSE MANIFEST in docs index rst negar Negar py Virastar py Virastar pyc init py data init py un
  • 随机长长生成器 C++ [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 生成随机数的解决方案是什么long
  • 验证 struts 2 中的双字段

    我的 struts 2 表单之一中有一个 长度 字段 length 的数据类型是 double 我已经在 XML 文件中应用了 双重 验证 但是当我在 长度 文本字段中键入字母时 它显示错误消息为 Invalid field value f
  • 我搞砸了我的 System_server 服务吗?

    我的手机正在产生不间断的 Log d 输出 以下内容不断重复每秒1200次 04 25 15 58 04 883 1542 5012 D NetworkStatsCollection getHistory mUID 10266 isVide
  • antlr4:如何知道在给定上下文的情况下选择了哪个替代方案

    假设有一个关于 类型 的规则 它可以是预定义类型 由 IDENTIFIER 引用 或 typeDescriptor type IDENTIFIER typeDescriptor 在我的程序中 我有一个 typeContext ctx 的实例
  • 垂直对齐:基线有什么用?

    我以为我了解 CSS 但我现在需要向某人解释一些事情 但我发现我做不到 我的问题基本上可以归结为 为什么vertical align baseline当同一行中有其他对齐时被忽略 示例 如果第二个跨度有vertical align bott
  • 实体框架4:我的load方法和IsLoaded属性在哪里?

    我正在使用 EF4 并且在我的类中使用 System Data Entity dll 但是 我看不到实体的导航属性的加载方法 我怎样才能访问这个方法 我正在做的是创建 NET 的 e 4 0 项目 从数据库创建我的 edmx 右键单击模型
  • 在 Android studio 项目上找不到参数的方法 test()

    在我的 Android 应用程序中 我想排除包中的一些测试用例 以便我使用test任务在build gradle文件 例如 apply plugin com android library test exclude calltest Sum
  • 无法生成云端点类

    亲爱的程序员朋友们 我对编程非常陌生 我正在遵循有关使用应用程序引擎后端教程的教程 然而我一路上遇到了一些问题 我已经设置了 App Engine 后端应用程序项目 创建了一个 CheckIn 实体类 之后 我按照说明创建一个名为 Chec
  • Oracle 存储过程出错

    当尝试创建此存储过程时 我收到错误 PLS 00428 此 SELECT 语句中需要 INTO 子句 Code CREATE OR REPLACE PROCEDURE FindDb P BookId IN BOOKMASTER BookId
  • 如何在 MATLAB 中动态访问结构体字段的字段?

    我对访问可能埋藏在包含结构深处的任意数量的级别的字段的一般问题感兴趣 下面是使用两个级别的具体示例 说我有一个结构toplevel 我使用以下命令从 MATLAB 命令行定义它 midlevel bottomlevel foo toplev
  • 如何从远程 Windows 计算机检索计算机名称?

    我正在尝试找到一种从 C 中的 IP 地址检索计算机名称的方法 但所有答案都在线标记为检索计算机名称或计算机名称actually获取主机名 而不是计算机名 如果您转到 控制面板 gt 系统 该菜单中有一个属性 计算机名称 我正在远程计算机上
  • 为什么 BeautifulSoup .children 包含无名元素以及预期标签

    Code usr bin env python3 from bs4 import BeautifulSoup test table tbody tr td div b Icon b div td tr tbody table soup Be
  • 有没有办法创建 Kubernetes Secret 子目录?

    库伯内斯 Secrets创建作为安装的文件卷挂载 可以将多个文件放入一个 Secret 中 有没有办法创建一个 Secret 将文件放入目录结构 即在文件夹中 文档中没有任何迹象 并且使用 密钥名称中不允许使用 所以看起来这是不可能的 除了
  • 是否有任何理由使用普通纯数据而不是 Pd 扩展?

    我刚刚开始使用 Pd 想知道在选择使用 Pd 时我会考虑哪些因素Pd vanilla vs Pd extended 对于初学者来说 Pd extended 提供了许多方便的工具 并附带了许多已预安装的外部组件 抽象和 GUI 插件 以及直接
  • 使用线程时 Gui 冻结

    我被困住了 希望有人能帮助我 我制作了一个类 GUI 其中的加载栏设置为选取框 以便在执行任务时我可以将其显示给用户 在我的一个 gui 类中 在第一行的构造函数中 我正在创建该类的一个新实例 然后执行 LoadingBar bar new
  • 如何通过包含点的键访问groovy中的映射值?

    我有这样的地图 data user name John user surname Doe city NY 我可以通过这种方式访问 属性 城市 data city 是否有类似的方法来访问 user name 属性 假设你的意思是 data u
  • 如何在没有 where 子句的情况下计算两个不同表中两列的总和?

    我使用以下 sql 语句对两个不同表中两列的值求和 该语句可以输出但不是想要的结果 SELECT SUM income rate AS Income SUM expense rate AS Expense SUM income rate S
  • 如何在 Jupyterhub/Jupyterlab 中初始化笔记本/工作目录的内容?

    如果我在 JupyterHub 中创建一个新用户 我希望使用一些入门示例来初始化相应 JupyterLab 实例的工作目录 我已经安装了 Jupyterlab 的 git 扩展 有没有办法自动为新用户克隆 git 存储库 这是关于 Spaw