【问题标题】:Unable to install spacy on AWS Sagemaker无法在 AWS Sagemaker 上安装 spacy
【发布时间】:2023-08-20 23:06:01
【问题描述】:

我正在尝试将 spacy 加载到 SageMaker 中。我在 Jupyter 笔记本实例中运行以下命令

!pip install spacy

我最终得到了这个错误

  gcc: error trying to exec 'cc1plus': execvp: No such file or directory
  error: command 'gcc' failed with exit status 1

还有这个

gcc: error: murmurhash/mrmr.cpp: No such file or directory
error: command 'gcc' failed with exit status 1

如何使用 Sagemaker 解决此问题?

【问题讨论】:

  • 你是怎么做到的?以下解决方案均无效。

标签: linux python-3.x amazon-web-services spacy amazon-sagemaker


【解决方案1】:

我在开始使用 SageMaker 时遇到了类似的问题,所以我开发了这个开源项目 https://github.com/Kenza-AI/sagify (sagify),它是一个 CLI 工具,可以帮助您在 SageMaker 上训练和部署自己的机器学习/深度学习模型非常简单的方法。无论我使用的是什么库(Keras、Tensorflow、scikit-learn、LightFM、spacy 等),我都设法训练和部署了我所有的 ML 模型。本质上,您可以以经典的 Python 方式指定所有依赖项,即在 requiments.txt 中,sagify 将读取它们并将它们安装在 Docker 映像上。然后,可以在 SageMaker 上执行此 Docker 映像进行训练和部署。

【讨论】:

    【解决方案2】:

    来自https://*.com/a/38733918/3276830

    修复 gcc

    sudo apt-get update
    sudo apt-get install --reinstall build-essential
    

    我不确定第二个错误,也许murmurhash/mrmr.cpp 不存在?

    【讨论】:

    • 我试过这个。无法识别 apt-get。所以我尝试了 yum install 。但我没有可用的软件包构建必需品
    • 百胜,试试yum install gcc-c++
    • 如果也失败了,试试sudo yum install gcc-c++.noarch
    • 加载的插件:dkms-build-requires、priorities、update-motd、upgrade-helper 由于存储库优先级保护而排除了 1039 个软件包 软件包 gcc-c++-4.8.5-1.22.amzn1.noarch 已安装和最新版本无事可做
    • 应该可以的,我不能多说,你也可以看到这个答案:*.com/a/48925817/3276830,它是最近的。
    【解决方案3】:

    您可以尝试以下命令安装 spacy,使用 Jupyter 单元选择 Python3 内核

    !conda update --all -y 
    !conda install -n python3 -y -c conda-forge spacy
    

    然后重新启动内核。

    重新启动内核后,您应该能够导入 spacy。或者您可以使用 Jupyter 终端发出相同的上述命令,只需删除 !从上面发出命令时标记。

    【讨论】: