簡體   English   中英

AWS Lambda Python軟件包-沒有名為redis的模塊

[英]AWS Lambda Python package - no module named redis

我有一個python軟件包,我想上傳到AWS Lambda 該軟件包可在兩台不同的計算機上運行,​​完全沒有依賴關系問題。

但是,將同一文件夾上傳到AWS Lambda ,出現以下錯誤:

無法導入模塊“ tweet_analyzer_python / lambda_handler”:沒有名為redis的模塊

這是包中文件的列表:

.
|-- event.json
|-- lambda_handler.py
|-- redis
|   |-- client.py
|   |-- client.pyc
|   |-- _compat.py
|   |-- _compat.pyc
|   |-- connection.py
|   |-- connection.pyc
|   |-- exceptions.py
|   |-- exceptions.pyc
|   |-- __init__.py
|   |-- __init__.pyc
|   |-- lock.py
|   |-- lock.pyc
|   |-- sentinel.py
|   |-- utils.py
|   `-- utils.pyc
|-- redis-2.10.5-py2.7.egg-info
|   |-- dependency_links.txt
|   |-- installed-files.txt
|   |-- PKG-INFO
|   |-- SOURCES.txt
|   `-- top_level.txt
|-- retrying-1.3.3-py2.7.egg-info
|   |-- dependency_links.txt
|   |-- installed-files.txt
|   |-- PKG-INFO
|   |-- requires.txt
|   |-- SOURCES.txt
|   `-- top_level.txt
|-- retrying.py
|-- retrying.pyc
|-- six-1.10.0-py2.7.egg-info
|   |-- dependency_links.txt
|   |-- installed-files.txt
|   |-- PKG-INFO
|   |-- SOURCES.txt
|   `-- top_level.txt
|-- six.py
`-- six.pyc

為了進行仔細檢查,我下載了上載到AWS Lambda的相同zip文件,並將其放在干凈的linux機器上。 運行時:

python tweet_analyzer_python / lambda_handler

我一點問題都沒有。

有人可以解釋一下我在做什么錯嗎?

謝謝!

在本地運行“ lambda_handler.py”時,您正在python文件中運行主要方法。 但是,lambda函數直接在lambda_handler.py中調用lambda_handler方法。

您的Lambda處理程序未配置為運行'lambda_handler.lambda_handler',並且在'tweet_analyzer_python / lambda_handler'上失敗

要么:

  • 1)將lambda_handler.py重命名為tweet_analyzer_python或
  • 2)將您的Lambda處理程序更改為“ lambda_handler.lambda_handler”

改變你的處理程序; 在AWS中使用lambda,選擇配置,然后更新處理程序並保存功能。

還要確保您的redis dep已打包在壓縮的lambda函數中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM