首页 > 解决方案 > 无法在 AWS sagemaker 上安装“ipywidgets”Jupyter Lab Extension

问题描述

要在 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.

我已经多次尝试在脚本文件和设置文件中找到ipywidgets有关“错误解释器”错误的错误。我在两者中都找不到任何错误痕迹。

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

最奇怪的是,我可以从 jupyterlab 上的终端通过终端安装它。我测量了安装所需的总时间,发现4 mins时间刚好够用(AWS 应该允许更多时间,因为这只是一个扩展安装)。请注意,此安装是在 T2 中等实例(您可以获得的最便宜的实例类型)下执行的。如果您以这种方式安装它必须重新启动 jupyter 实验室以使其工作,那么您重新启动您的实例,一切都会恢复到尚未安装的状态。这表明没有办法安装 jupyter 实验室扩展而不是使用生命周期配置,这将导致您返回错误。

在这一点上,如果我真的想使用ipywidgets.


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

标签: bashamazon-web-servicesamazon-sagemakerjupyter-labipywidgets

解决方案


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


推荐阅读