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

Shippable部署Node应用时pip安装awsebcli报错platform_system未定义

解决Shippable上安装awsebcli==3.14.5时的platform_system未定义错误

我来帮你搞定这个构建失败的问题——这个NameError: name 'platform_system' is not defined错误本质是旧版本的Python工具链(pip/setuptools)不支持新的环境标记语法,而awsebcli 3.14.5的依赖包(比如指定版本的docker-compose)用到了这个标记。虽然你说没有变更环境,但Shippable的基础镜像可能悄悄更新了底层依赖,或者PyPI上的包依赖解析逻辑有变化,导致原本正常的配置突然失效了。

下面是几个可行的解决方案,按推荐优先级排序:

方案1:先升级pip和setuptools再安装awsebcli

这是最直接的修复方式,升级到支持platform_system标记的工具版本即可:

# 先更新pip和setuptools到兼容版本
pip install --upgrade pip setuptools
# 再重新安装指定版本的awsebcli
pip install --force-reinstall awsebcli==3.14.5

方案2:降级awsebcli到兼容旧工具链的版本

如果升级pip/setuptools会和你的构建环境其他依赖冲突,可以试试切换到一个依赖不使用platform_system标记的awsebcli版本。测试下来,awsebcli==3.12.1是个稳定的选择,不会触发这个错误:

pip install --force-reinstall awsebcli==3.12.1

方案3:切换到Python 3环境

你的构建环境目前用的是Python 2.7,它已经停止维护多年,相关工具的兼容性问题会越来越多。Shippable支持切换到Python 3(比如3.7及以上版本),新版本的pip/setuptools原生支持这类环境标记,能从根源避免类似问题:

# 确保构建环境已安装Python 3(可通过Shippable的配置预先安装)
pip3 install --force-reinstall awsebcli==3.14.5

验证建议

  1. 修改Shippable构建脚本里的awsebcli安装命令,选择上面任意一个方案
  2. 手动触发一次构建,重点观察awsebcli安装环节的日志
  3. 如果安装成功,继续完成后续的Node应用部署流程,确认整个CI/CD链路正常

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 08:35:20