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

AWS Glue Python脚本关联Redshift连接后无法从S3安装Wheel包

保留Redshift连接同时从S3安装依赖的解决方法

当Glue作业关联Redshift连接后,作业会切换到VPC网络环境运行,默认会尝试从PyPI拉取依赖(即使已指定S3包),导致无公网访问时安装失败。以下是可行的解决步骤:

1. 配置作业参数强制使用S3依赖

在Glue作业的作业参数中添加以下参数,禁止从PyPI索引拉取,强制使用指定的S3 Wheel包:

  • 添加参数--additional-python-modules,值为你的S3 Wheel包完整路径(如s3://your-bucket/packages/SQLAlchemy-1.4.52-cp39-cp39-manylinux_2_5_x86_64.whl)
  • 添加参数--no-index,无额外值,用于告诉pip不使用PyPI索引,仅使用提供的本地/S3包
  • 保留原有的--extra-py-files参数(若包含其他非Wheel格式的依赖文件)

2. 确保VPC配置S3网关端点

检查Redshift连接关联的VPC是否配置了S3网关端点:

  • 登录AWS控制台,进入VPC服务,在「端点」中创建或确认存在S3的网关端点(类型为Gateway,关联目标S3桶所在的路由表)
  • 这样Glue作业在VPC内可以直接访问S3,无需公网或NAT网关

3. 验证Wheel包兼容性

确认你的Wheel包与Glue Python-shell的Python版本匹配(例如Glue 4.0对应Python 3.9),避免因版本不兼容导致安装失败。

报错信息回顾

__main__.CommandFailedException: /tmp/glue-python-libs-cVlK/SQLAlchemy-1.4.52-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl installation failed after 2th retry due to exception: CalledProcessError

内容的提问来源于stack exchange,提问作者Nevermore

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 18:52:38