如果我在 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(使用前将#替换为@)