我一直试图找出这个问题一段时间,但无法弄明白。我的app结构是这样的:
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'时发生异常。
在<module>
中的“文件”/opt/python/current/app/cloud-dev/application.py“,第3行
来自flask导入render_template
ImportError:没有名为flask的模块“
我在访问网站链接时遇到500错误。非常感谢帮助!
答案 0 :(得分:5)
我遇到了完全相同的错误。对我有帮助的是重命名运行到'application'的Flask对象:
from flask import Flask
application = Flask(__name__)
# run the app.
if __name__ == "__main__":
application.run()
使用application.py作为文件名并提供可调用的应用程序对象(在本例中为Flask对象)允许AWS Elastic Beanstalk轻松找到应用程序的代码。