Conda env 构建失败,"[Errno 28] No space left on device"



我正试图在终端会话中在Sagemaker ec2环境中构建一个新的conda环境。环境的原始副本中的程序包已损坏,环境变得不可用。无法通过删除程序包并重新安装或使用conda update来解决此问题。

我用conda env remove -n python3-cn破坏了环境,然后试图用重建环境

conda env create -p /home/ec2-user/SageMaker/anaconda3/envs/python3-cn --file=${HOME}/SageMaker/efs/.sagemaker/python3-cn_environment.yml --force

该环境已在几个ec2实例中为单个Sagemaker用户创建了多次。

Conda记录以下内容:

Collecting package metadata (repodata.json): done
Solving environment: done
Downloading and Extracting Packages
pytest-arraydiff-0.2 | 14 KB     | ##################################################################################################### | 100% 
partd-0.3.8          | 32 KB     | ##################################################################################################### | 100% 
... several progress bar lines later...
psycopg2-2.7.5       | 507 KB    | ##################################################################################################### | 100% 
Preparing transaction: done
Verifying transaction: done
Executing transaction: done
ERROR conda.core.link:_execute(700): An error occurred while installing package 'defaults::mkl-2018.0.3-1'.
Rolling back transaction: done
[Errno 28] No space left on device
()

No space left on device错误是一致的。我试过

  • conda clean --all,移除环境,重建环境
  • 删除缓存、删除环境、重新构建环境
  • 删除环境,关闭并重新启动JuypiterLab(如果JupyterLab启动时环境不存在,我们的Sagemaker配置为创建python3-cn(

在前两个中,我得到了Errno 28

在最后一个实例中,实例没有创建,conda env list没有显示python3-cn,但我看到anaconda/envs/目录中有一个python3-cn目录。如果我执行conda activate python3-cn,我会看到提示更改,但环境不可用。如果我尝试conda update --all,我会收到一个通知,其中一个包文件已损坏。

不知道在这里该做什么。我在找太空猪,但并没有真正找到任何重要的东西。

尝试增加笔记本的ebs音量。。。这个博客很好地解释了这一点:https://aws.amazon.com/blogs/machine-learning/customize-your-notebook-volume-size-up-to-16-tb-with-amazon-sagemaker/

此外,最佳实践是使用生命周期配置脚本来构建/添加新的依赖项。。。官方文件:https://docs.aws.amazon.com/sagemaker/latest/dg/notebook-lifecycle-config.html

这个github页面有一些很棒的模板示例。。。例如设置特定的配置,如conda等:https://github.com/aws-samples/amazon-sagemaker-notebook-instance-lifecycle-config-samples/tree/master/scripts

@purplePython感谢您提供的这些信息——它非常有用。我发现笔记本中有一些隐藏的目录占用了足够的空间来启动构建,但无法完成。然而,我真的很喜欢生命周期配置,并将随着依赖关系的增长而关注它,这是必然发生的。

相关内容

  • 没有找到相关文章