You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在AWS Glue 4.0中安装rdkit遇setup.py缺失错误的求助

解决AWS Glue 4.0中安装RDKit的问题

你遇到的报错核心原因是:直接压缩RDKit源码文件夹上传S3不符合Glue的安装要求。--additional-python-modules参数仅支持可直接通过pip安装的包格式(如wheel文件、PyPI包名,或包含正确setup.py/pyproject.toml的结构化源码包),而RDKit源码根目录没有统一的配置文件,直接压缩整个源码目录无法被pip识别。

以下是三种可行的解决方案:

方法1:使用预编译的RDKit Wheel包

这是最简便的方法,无需自行编译:

  • 选择适配Glue 4.0环境的wheel包:Glue 4.0基于Python 3.10、Amazon Linux 2(x86_64架构),需下载对应版本的RDKit预编译wheel(比如rdkit-pypi发布的兼容manylinux_2_17_x86_64的版本)
  • 将下载的wheel文件上传到你的S3桶的指定路径(例如s3://your-bucket/third-party-libs/rdkit-2023.9.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl)
  • 在Glue作业的高级属性中,修改--additional-python-modules参数为上述S3路径
  • 确认Glue作业的IAM角色拥有该S3路径的读取权限

方法2:构建适配Glue环境的自定义RDKit Wheel包

如果预编译wheel不兼容,需在与Glue一致的环境中编译:

  • 启动一台Amazon Linux 2的EC2实例,安装编译依赖:sudo yum install cmake3 boost-devel python3-devel gcc-c++
  • 克隆RDKit源码并切换到目标版本分支:git clone https://github.com/rdkit/rdkit.git && cd rdkit && git checkout 2023_09_5
  • 进入RDKit的Python绑定目录:cd Python
  • 编译生成wheel包:python3 setup.py bdist_wheel(编译过程可能需要10-20分钟)
  • 将dist目录下生成的wheel包上传到S3,再按方法1配置Glue作业

方法3:使用Glue自定义镜像

如果上述方法仍无法解决,可构建包含RDKit的自定义Glue运行时镜像:

  • 基于AWS官方的Glue 4.0镜像(public.ecr.aws/glue/aws-glue-libs:glue-4.0),在Docker中安装RDKit(可通过pip安装预编译wheel或源码编译)
  • 将自定义镜像推送到你的ECR仓库
  • 创建Glue作业时选择该自定义镜像,作业启动后即可直接使用RDKit

额外注意事项

  • Glue的Python运行环境是只读的,无法在作业代码中直接执行pip install
  • 确保RDKit版本与Glue的Python版本(3.10)完全兼容
  • 若使用S3存储包,需避免路径中包含特殊字符,且IAM角色需具备s3:GetObject权限

内容的提问来源于stack exchange,提问作者crime-brulee

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 21:22:17