【问题标题】:Getting error from beanstalk when trying to deploy flask app: "no module named flask"尝试部署烧瓶应用程序时从 beanstalk 获取错误:“没有名为 flask 的模块”
【发布时间】:2015-12-18 16:26:26
【问题描述】:

我一直在尝试解决这个问题,但无法解决。我的应用结构是这样的:

myapp  
    -application.py  
    -myapp  
       -sample.css  
       -sample.js  
       -blueprints.py  
       -__init__.py  
       -__init__.pyc  
       -templates  
         -base.jinja2  
   -node_modules  
   -package.json  
   -requirements.txt  
   -static  
   -venv  
   -webpack.config.js  

我的 beanstalk 有 python 2.7 环境,我的虚拟环境也是如此。我在 pip list 和 requirements.txt 中有所有需要的包。我在 eb config 的 yml 文件中的 WSGI 路径设置为 /myapp/application.py。我从 eb 日志中得到的确切错误是:

mod_wsgi (pid=2330):目标 WSGI 脚本“/opt/python/current/app/myapp/application.py”无法作为 Python 模块加载。
mod_wsgi (pid=2330):处理 WSGI 脚本“/opt/python/current/app/myapp/application.py”时发生异常。
“文件“/opt/python/current/app/cloud-dev/application.py”,第 3 行,<module>
从烧瓶导入渲染模板
ImportError: No module named flask"

我在访问站点链接时不断收到 500 错误。非常感谢您的帮助!

【问题讨论】:

    标签: python amazon-web-services amazon-ec2 flask amazon-elastic-beanstalk


    【解决方案1】:

    我遇到了完全相同的错误。对我有帮助的是将运行的 Flask 对象重命名为“应用程序”:

    from flask import Flask
    
    application = Flask(__name__)
    
    # run the app.
    if __name__ == "__main__":
        application.run()
    

    来自Amazon EB Docs

    使用 application.py 作为文件名并提供可调用的应用程序对象(在本例中为 Flask 对象)允许 AWS Elastic Beanstalk 轻松找到您的应用程序代码。

    【讨论】:

      猜你喜欢
      • 2019-02-10
      • 2021-01-08
      • 2022-01-25
      • 2020-10-19
      • 2015-02-28
      • 2021-12-12
      • 2019-01-25
      • 2018-03-26
      • 2017-06-14
      相关资源
      最近更新 更多