关于python:在AWS Lambda中收到错误“无法导入模块’lambda_function’:没有名为Flask的模块”的错误

Getting the error “Unable to import module 'lambda_function': No module named Flask” in AWS Lambda

尝试在AWS Lambda上运行我的代码时,出现错误"无法导入模块'lambda_function':没有名为Flask的模块"

我已经在虚拟环境和所有其他必需的库中安装了python和python flask

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
import Flask
from flask import Flask
from flask import jsonify
from flask import request
from flask_pymongo import PyMongo

app = Flask(__name__)

app.config['MONGO_DBNAME'] = 'users'
app.config['MONGO_URI'] = 'mongodb://127.0.:27017/users'

mongo = PyMongo(app)

@app.route('/user', methods=['POST'])
def get_userdetail():
    user = mongo.db.users
    output = []

    for s in user.find():
        output.append({'Firstname' : s['Firstname'], 'Lastname' :
                       s['Lastname']})
    return jsonify({'result' : output})

if __name__ == '__main__':
    app.run(debug=True)

我只是希望代码能够运行,但是却出现了此错误


您首先需要执行一些步骤,因此在您部署到AWS Lambda时,依赖项将自动安装。 例如,使用" serverless-python-requirements"安装requriments.txt文件。 有关更多详细信息,您可以检查以下内容:https://medium.com/@Twistacz/flask-serverless-api-in-aws-lambda-the-easy-way-a445a8805028

我还注意到,您的MONGO_URI指向您的本地文件夹,并且当您进行在线部署时这将不起作用。 检查如何使用两个类制作配置文件,一个用于生产,一个用于开发。 因此,在部署时,您只需更改为生产即可。

我希望这会有所帮助。