Snowflake与Amazon S3自动化集成报错:无法导入requests模块
问题与解决方案
问题详情
- 执行Snowflake与Amazon S3自动化集成操作时,因原配置的Python 3.7 runtime不支持,将
aws-snowflake-integrationobject.yml中的运行时版本改为Python 3.8 - 堆栈执行到「SnowflakeResources」步骤时触发错误:
Runtime.ImportModuleError: Unable to import module 'index': No module named 'requests' Traceback (most recent call last):
- 确认
snowflakelayers.zip中包含requests文件夹,但仍出现模块找不到的问题
结论与解决步骤
是的,必须针对Python 3.8重新创建Layer压缩包。Python依赖包(如requests)会和特定版本的Python ABI(应用二进制接口)绑定,跨版本复用容易出现兼容性问题,哪怕压缩包中能看到文件夹也无法正常导入。
重新创建适配Python 3.8的Layer步骤:
- 在本地创建一个空的
python目录 - 使用Python 3.8环境执行命令:
pip install requests -t ./python/ - 将
python目录直接打包为zip文件(确保zip根目录就是python文件夹,不要嵌套在其他目录下) - 用新生成的zip替换原有的
snowflakelayers.zip,重新部署堆栈即可
内容的提问来源于stack exchange,提问作者Subramanian
相关产品推荐
相关产品推荐

