Lambda层与requirements.txt依赖是否自动解析?重复依赖安装疑问
Lambda依赖相关问题解答
关于pip install -r requirements.txt是否会跳过Lambda层中的psycopg2
pip执行安装操作时,完全不知道Lambda层的存在——Lambda层是部署到AWS Lambda运行环境的资源,和本地pip的安装流程没有任何关联。
所以不管Lambda层里有没有psycopg2,只要你本地执行pip install时,当前环境缺少requirements.txt指定的psycopg2(或者版本不匹配),pip就会正常下载并安装该包,不会因为Lambda层存在这个依赖就跳过安装。
关于Lambda层与requirements.txt的依赖是否自动解析
Lambda运行时不会自动解析或处理Lambda层和requirements.txt之间的依赖冲突。它只会将Lambda层的内容解压到/opt目录,并将该目录添加到Python的sys.path中;而你通过requirements.txt安装的依赖会放在函数代码所在的/var/task目录,该目录默认在sys.path中的优先级更高。
这意味着如果两者都包含psycopg2,Python会优先加载/var/task下的版本(也就是你通过requirements.txt安装的那个)。如果想要优先使用Lambda层中的版本,你需要手动调整sys.path的顺序,或者确保requirements.txt中不重复安装该依赖。
内容的提问来源于stack exchange,提问作者tomvonheill
相关产品推荐
相关产品推荐

