Snowflake Connector for Python在Lambda SAM构建依赖解析失败问题
问题原因及解决方案
你遇到的报错核心是依赖声明的包名错误:PyPI上名为snowflake的包是无实际功能的占位包,版本停留在0.0.3,并非官方的Snowflake Python连接器。你本地虚拟环境实际安装的应该是官方连接器,只是依赖声明文件里写了错误的包名,导致SAM构建时拉取到无效包触发失败。
修复步骤
- 修改
requirements.txt或SAM模板中的依赖声明,把snowflake替换为官方正确包名snowflake-connector-python,可指定适配Lambda运行环境的稳定版,例如snowflake-connector-python>=3.0.0 - 清理本地虚拟环境的无效占位包:执行
pip uninstall -y snowflake,确认仅保留官方连接器包 - SAM构建时建议添加
--use-container参数,使用AWS官方构建容器编译依赖,避免本地环境和Lambda运行环境的二进制兼容问题,命令参考:sam build --use-container - 如果需要控制Lambda部署包体积,可排除不必要的可选依赖,按需选择安装变体,例如仅安装核心功能的版本。
注意事项
代码中
import snowflake.connector的导入逻辑不需要修改,官方snowflake-connector-python包的导入路径就是snowflake.connector,包名和导入路径存在差异是正常设计。
内容的提问来源于stack exchange,提问作者MountainBiker
相关产品推荐
相关产品推荐

