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

时间:2019-08-25 23:44:11

标签: python mongodb aws-lambda flask-restful

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

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

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)

我只是希望代码能够运行,但是却收到了这个错误

1 个答案:

答案 0 :(得分:1)

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

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

我希望这会有所帮助。