我正在尝试在 AWS beanstalk 上部署一个工作线程应用程序。它只是一个python文件,以及一个用于配置的.yml文件。但是,我未能部署该应用程序。我在日志中收到以下错误:
Jul 1 22:40:13 ip-172-31-27-101 web: Traceback (most recent call last):
Jul 1 22:40:13 ip-172-31-27-101 web: File "/var/app/venv/staging-LQM1lest/lib/python3.7/site-packages/gunicorn/arbiter.py", line 583, in spawn_worker
Jul 1 22:40:13 ip-172-31-27-101 web: worker.init_process()
Jul 1 22:40:13 ip-172-31-27-101 web: File "/var/app/venv/staging-LQM1lest/lib/python3.7/site-packages/gunicorn/workers/gthread.py", line 92, in init_process
Jul 1 22:40:13 ip-172-31-27-101 web: super().init_process()
Jul 1 22:40:13 ip-172-31-27-101 web: File "/var/app/venv/staging-LQM1lest/lib/python3.7/site-packages/gunicorn/workers/base.py", line 119, in init_process
Jul 1 22:40:13 ip-172-31-27-101 web: self.load_wsgi()
Jul 1 22:40:13 ip-172-31-27-101 web: File "/var/app/venv/staging-LQM1lest/lib/python3.7/site-packages/gunicorn/workers/base.py", line 144, in load_wsgi
Jul 1 22:40:13 ip-172-31-27-101 web: self.wsgi = self.app.wsgi()
Jul 1 22:40:13 ip-172-31-27-101 web: File "/var/app/venv/staging-LQM1lest/lib/python3.7/site-packages/gunicorn/app/base.py", line 67, in wsgi
Jul 1 22:40:13 ip-172-31-27-101 web: self.callable = self.load()
Jul 1 22:40:13 ip-172-31-27-101 web: File "/var/app/venv/staging-LQM1lest/lib/python3.7/site-packages/gunicorn/app/wsgiapp.py", line 49, in load
Jul 1 22:40:13 ip-172-31-27-101 web: return self.load_wsgiapp()
Jul 1 22:40:13 ip-172-31-27-101 web: File "/var/app/venv/staging-LQM1lest/lib/python3.7/site-packages/gunicorn/app/wsgiapp.py", line 39, in load_wsgiapp
Jul 1 22:40:13 ip-172-31-27-101 web: return util.import_app(self.app_uri)
Jul 1 22:40:13 ip-172-31-27-101 web: File "/var/app/venv/staging-LQM1lest/lib/python3.7/site-packages/gunicorn/util.py", line 358, in import_app
Jul 1 22:40:13 ip-172-31-27-101 web: mod = importlib.import_module(module)
Jul 1 22:40:13 ip-172-31-27-101 web: File "/usr/lib64/python3.7/importlib/__init__.py", line 127, in import_module
Jul 1 22:40:13 ip-172-31-27-101 web: return _bootstrap._gcd_import(name[level:], package, level)
Jul 1 22:40:13 ip-172-31-27-101 web: File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
Jul 1 22:40:13 ip-172-31-27-101 web: File "<frozen importlib._bootstrap>", line 983, in _find_and_load
Jul 1 22:40:13 ip-172-31-27-101 web: File "<frozen importlib._bootstrap>", line 965, in _find_and_load_unlocked
Jul 1 22:40:13 ip-172-31-27-101 web: ModuleNotFoundError: No module named 'application'
我也收到以下错误L
Jul 2 19:28:34 ip-172-31-28-100 web: Failed to find attribute 'application' in 'application'.
有人知道应用程序模块在这里指的是什么吗? 我当然没有设置任何 python 包,因为没有必要......我只是在本地运行python app.py
它就可以工作了。如果有人能分享一些见解,将不胜感激!谢谢
文件夹结构
.
├── README.md
├── application.py
├── cron.yaml
├── init
├── requirements.txt
└── worker.zip
application.py
application = flask.Flask(__name__)
@application.route('/')
def main():
print("endpoint")
return("ok"), 200
if __name__ == '__main__':
application.run(host="localhost")
wgsi.py
from application import application
我只是在本地运行python app.py 并且它可以工作。
默认情况下,ElasticBeanstalk 上的 python 应用程序将被称为:
application.py