1
我試圖創建一個lambda函數,通過上傳一個zip文件與一個單一的.py文件在根和2個文件夾包含通過點擊下載的請求庫。蟒蛇lambda無法檢測打包模塊
運行代碼本地工程文件。當我壓縮和上傳代碼,我經常得到這個錯誤:
Unable to import module 'main': No module named requests
有時候我設法解決這個問題,但它的不一致,我不知道我是如何做的。我使用下面的命令:
在根目錄zip -r upload.zip *
這是我是如何導入請求:
import requests
FYI: 1.我已經嘗試了許多不同的使用確切的路徑導入方法失敗,所以我不知道這是否是問題? 2.每當這失敗了,我已經能夠使它在lambda中工作,它涉及了很多與zip命令擺弄,因爲我認爲問題是我壓縮內容不正確,並將它們隱藏在一個額外的父夾。
期待看到我一直在犯的愚蠢錯誤!
添加代碼片段:
import json ##Built In
import requests ##Packaged with
import sys ##Built In
def lambda_function(event, context):
alias = event['alias']
message = event['message']
input_type = event['input_type']
if input_type == "username":
username = alias
elif input_type == "email":
username = alias.split('@',1)[0]
elif input_type is None:
print "input_type 'username' or 'email' required. Closing..."
sys.exit()
payload = {
"text": message,
"channel": "@" + username,
"icon_emoji": "<an emoji>",
"username": "<an alias>"
}
r = requests.post("<slackurl>",json=payload)
print(r.status_code, r.reason)
請添加您的代碼 –