该问题出现的原因是在使用Python subprocess模块的call函数时,调用了which命令,但是AWS Lambda默认环境中没有安装此命令,导致该错误。
解决方法是:使用Python的os模块中的environ函数获取PATH,并将其传递给subprocess模块的call函数,避免使用which命令。
示例代码:
import os import subprocess
def lambda_handler(event, context): path = os.environ['PATH'] retcode = subprocess.call(['python', '--version'], env={'PATH':path}) print(retcode) return retcode
此代码中,首先通过os.environ获取PATH,然后将其传递给subprocess模块的call函数,避免使用which命令。