我需要在每天运行一次的Python脚本中进行REST调用。但是我无法将“requests”包打包到我的Python包中使用AWS Lambdas。我收到错误消息:“Unable to import module 'lambda_function': No module named lambda_function”。
我将其简化为预定义的hello_world脚本。我可以将其打包成zip并上传。一切正常。但是一旦我在文件中放入“import requests”,就会出现此错误。
以下是我已经做过的事情:
- zip和项目文件夹(包括子文件夹)的权限设置为“chmod 777”。因此,权限不应该是问题。
- 脚本本身位于根文件夹中。打开zip文件时,您可以直接看到它。
- 我使用“sudo pip install requests -t PATH_TO_ROOT_FOLDER”将requests软件包安装到项目的根文件夹中
各项命名如下:
- zip文件:lambda_function.zip
- py文件:lambda_function.py
- 处理方法:lambda_handler(event, context)
- 在“webconfig: lambda_function.lambda_handler”中定义处理程序
最终要运行的文件如下:
import requests
import json
def lambda_handler(event, context):
url = 'xxx.elasticbeanstalk.com/users/login'
headers = {"content-type": "application/json", "Authorization": "Basic Zxxxxxxxxx3NjxxZxxxxzcw==" }
response = requests.put(url, headers=headers, verify=False)
return 'hello lambda_handler'
我很高兴能得到任何形式的帮助。我已经花费了数小时来解决这个问题。
pip install
命令中-t
选项的位置是不正确的 - 必须是pip install requests -t PATH_TO_ROOT_FOLDER
。你只是打错了吗,还是真的是这样运行的? - Leon