无法在 AWS Elastic Beanstalk 上部署 Python Flask 应用程序 |没有名为 'application' 的模块

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

web.stdout.log 中的错误消息:

Oct 15 13:03:29 ip-172-31-18-218 web: ModuleNotFoundError: No module named 'application'
Oct 15 13:03:29 ip-172-31-18-218 web: [2020-10-15 13:03:29 +0000] [4633] [INFO] Worker exiting (pid: 4633)
Oct 15 13:03:29 ip-172-31-18-218 web: [2020-10-15 13:03:29 +0000] [4626] [INFO] Shutting down: Master
Oct 15 13:03:29 ip-172-31-18-218 web: [2020-10-15 13:03:29 +0000] [4626] [INFO] Reason: Worker failed to boot.

nginx/error.log 中的错误信息

2020/10/15 13:04:21 [error] 4559#0: *19 connect() failed (111: Connection refused) while connecting to upstream, client: 172.31.42.151, server: , request: "GET / HTTP/1.1", upstream: "http://127.0.0.1:8000/", host: "172.31.18.218"

flask 应用:

# EB looks for an 'application' callable by default.
application = Flask(__name__)

@application.route('/')
def home(): 
    return "Hello World"

@application.route('/processImage')
def index():
    [Some Code...]

if __name__ == '__main__':
    # Setting debug to True enables debug output. This line should be
    # removed before deploying a production app.
    application.run('localhost',8000,debug=True)

需求.txt

certifi==2020.6.20
chardet==3.0.4
click==7.1.2
Flask==1.1.2
idna==2.10
itsdangerous==1.1.0
Jinja2==2.11.2
MarkupSafe==1.1.1
numpy==1.19.2
opencv-python==4.4.0.44
requests==2.24.0
urllib3==1.25.10
Werkzeug==1.0.1
    

我的文件夹结构:

eb-flask
  |- .vscode (folder)
  |- images (folder)
  |- application.py
  |- requirements.txt

部署方式:

Deployment via the Elastic Beanstalk Web UI by uploading a .zip archive of the above described folder. 

如有任何关于如何进一步调试或解决此问题的想法,我们将不胜感激。非常感谢。

最佳答案

我遇到了同样的错误。

我做的几件事是:

  1. 进行了更改:application = app = Flask(__name__)
  2. 将 python 文件重命名为 application.py

同样非常重要:无论需要什么文件,都选择这些文件并压缩它们(在 Windows 中右键单击“发送到”->“压缩”)并上传到 beanstalk。

不要将所有必需的文件放在一个文件夹中并压缩。这就是背后的原因 ModuleNotFound: No Module name 'application'

关于无法在 AWS Elastic Beanstalk 上部署 Python Flask 应用程序 |没有名为 'application' 的模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64372433/

相关文章:

python - 在caffe中使用HDF5数据训练模型时出错

python - 与 matplotlib 交互

python - 如何将字符串切片为嵌套列表中的单个字符

amazon-web-services - CloudFormation、Lambda、S3 - 访问被 s3 拒绝

python - Pillow 如何直接从 StringIO 打开上传的图像文件?

python - 如何摆脱 csv 文件中的 NaN 值? Python

amazon-web-services - 在 Packer 中获取交互式 shell?

mysql - 降级AWS RDS实例

mongodb - Flask PyMongo 字符串返回 ObjectID

docker - Docker-拒绝使用Nginx连接到套接字的权限