无法在AWS sagemaker上安装“ ipywidgets” Jupyter Lab扩展

时间:2019-06-30 01:15:35

标签: bash amazon-web-services amazon-sagemaker jupyter-lab ipywidgets

要在AWS sagemaker上安装Jupyter Lab Extension,您需要遵循https://github.com/aws-samples/amazon-sagemaker-notebook-instance-lifecycle-config-samples/tree/master/scripts。然后相应地创建生命周期配置。

我做到了,这是我的on-start.sh文件。

#!/bin/bash

set -e

# OVERVIEW
# This script installs a jupyterlab extension package in SageMaker Notebook Instance

sudo -u ec2-user -i <<'EOF'
# PARAMETERS
EXTENSION_NAME=@jupyter-widgets/jupyterlab-manager
source /home/ec2-user/anaconda3/bin/activate JupyterSystemEnv
jupyter labextension install $EXTENSION_NAME
source /home/ec2-user/anaconda3/bin/deactivate
EOF

一切都应该顺利进行,除了此扩展名会引发错误。

这是来自云监视的错误日志。

/bin/bash: /tmp/OnStart_2019-06-26-23-3260vo0j6p: /bin/bash^M: bad interpreter: No such file or directory

这是sagemaker控制台中显示的错误消息。

Failure reason
Notebook Instance Lifecycle Config 'arn:aws:sagemaker:ap-southeast-1:658055165324:notebook-instance-lifecycle-config/jupyter-widgets-for-jupyterlab-copy' for Notebook Instance 'arn:aws:sagemaker:ap-southeast-1:658055165324:notebook-instance/test' took longer than 5 minutes. Please check your CloudWatch logs for more details if your Notebook Instance has Internet access.

我进行了几次尝试,以在脚本文件和与the 'bad interpreter' error有关的ipywidgets的安装文件中查找错误。我在两者中都找不到错误痕迹。

我试图将实例升级到T2最大实例,以防错误来自超时。

最奇怪的是,我能够从jupyterlab上的终端通过终端安装它。我测量了安装所需的总时间,发现它大约4 mins左右就足够了(AWS应该留出更多时间,因为这只是一个扩展安装)。请注意,此安装是在T2介质实例(您可以获得的最便宜的实例类型)下执行的。如果以这种方式安装它,必须重新启动jupyter实验室以使其正常运行,则重新启动实例后,一切将恢复为尚未安装状态。这表明,除了使用生命周期配置之外,没有其他方法可以安装jupyter Lab扩展,从而导致您回到错误状态。

在这一点上,如果我真的想使用ipywidgets,我放弃使用jupyter笔记本。


通常,这应该作为AWS的技术支持而提出,但是我有基本计划,所以我决定将其提交给StackOverflow,以供其他可能遇到相同问题的人使用。

1 个答案:

答案 0 :(得分:1)

复制到记事本++ 查看>显示符号>显示所有符号 用任何内容替换“ / r” CRLF应该变成LF,在UNIX中有效 复制并粘贴为纯文本!!!