如何让SageMaker Studio Notebook可访问自定义Conda环境内核
解决方案
单次启动生效方案(无需自定义镜像,每次重启Studio JupyterServer后运行一次即可)
你之前的脚本不生效的核心原因是SageMaker Studio的内核网关默认不会扫描~/.local/share/jupyter/kernels路径下的内核配置,需要调整安装路径并触发内核列表刷新,使用修改后的脚本即可:
#!/bin/bash set -e sudo -u sagemaker-user -i <<'EOF' unset SUDO_UID WORKING_DIR=/home/sagemaker-user/.SageMaker/custom-miniconda/ source "$WORKING_DIR/miniconda/bin/activate" # 清理旧的自定义内核配置 rm -rf ~/.jupyter/kernels/* for env in $WORKING_DIR/miniconda/envs/*; do BASENAME=$(basename "$env") source activate "$BASENAME" # 内核安装到Studio可识别的用户目录 python -m ipykernel install --prefix ~/.jupyter/ --name "$BASENAME" --display-name "自定义-$BASENAME" done # 触发内核网关刷新列表,无需重启Studio服务 nohup kill -SIGUSR2 $(pgrep -f "jupyter-kernelgateway") >/dev/null 2>&1 & EOF
运行完成后等待30秒,刷新浏览器页面,即可在Notebook的内核选择列表中看到自定义环境。
注意:所有自定义conda环境需要预先安装
ipykernel依赖,执行conda install -y ipykernel即可完成安装。
持久化免手动运行方案
将上述脚本保存到EFS持久化路径,比如~/.SageMaker/register-kernels.sh,赋予执行权限后,将脚本执行命令写入~/.bashrc末尾,每次Studio启动后打开终端会自动完成内核注册,无需手动运行。
内容的提问来源于stack exchange,提问作者salhin
相关产品推荐
相关产品推荐

