【问题标题】:Getting the error "Unable to import module 'lambda_function': No module named Flask" in AWS Lambda在 AWS Lambda 中收到错误“无法导入模块 'lambda_function':没有名为 Flask 的模块”
【发布时间】:2019-12-30 04:58:06
【问题描述】:

尝试在 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)

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

【问题讨论】:

标签: python mongodb aws-lambda flask-restful


【解决方案1】:

您需要先执行一些步骤,以便在您部署到 AWS Lambda 时自动安装依赖项。例如使用“serverless-python-requirements”来安装 requriments.txt 文件。更多详情可以查看:https://medium.com/@Twistacz/flask-serverless-api-in-aws-lambda-the-easy-way-a445a8805028

我还注意到您的 MONGO_URI 指向您的本地文件夹,当您在线部署时,这将不起作用。检查如何制作一个包含两个类的配置文件,一个用于生产,一个用于开发。因此,当您部署时,您只需切换到生产环境。

我希望这会有所帮助。

【讨论】:

  • 那么,对于 MONGO_URI,我应该输入托管 MongoDB 的 IP 地址吗?
  • 因此,如果您在 AWS 上有 MONGO 数据库,请转到 AWS 控制台并获取 URL。检查此链接:ianlondon.github.io/blog/mongodb-auth
猜你喜欢
  • 2021-06-28
  • 2018-08-01
  • 2018-11-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-09-18
  • 1970-01-01
  • 2019-11-21
相关资源
最近更新 更多