Serverless Framework Python3.11报错:无法从collections导入'Sequence'
问题解决:Python 3.11下无法导入Sequence的运行时错误
错误根源
你碰到的Runtime.ImportModuleError是因为Python 3.10及更高版本已将Sequence从collections模块迁移至collections.abc模块,而你的依赖列表里安装了第三方的pathlib==1.0.1——这个版本是为早期Python版本开发的,内部仍在使用旧的导入逻辑,导致在Python 3.11环境下触发报错。
另外要注意:Python 3.4及以上版本已经内置了官方的pathlib模块,完全不需要单独安装第三方的pathlib包。
解决步骤
- 从依赖列表中移除
pathlib==1.0.1,修改后的依赖列表如下:boto3==1.28.73 botocore==1.31.73 DateTime==5.2 jmespath==1.0.1 python-dateutil==2.8.2 pytz==2023.3.post1 s3transfer==0.7.0 six==1.16.0 urllib3==2.0.7 zope.interface==6.1 - 重新安装依赖并部署Serverless服务,Python会自动调用内置的
pathlib模块,该模块已适配Python 3.11的导入规则。
内容的提问来源于stack exchange,提问作者martin
相关产品推荐
相关产品推荐

