gunicorn不会正确启动

2024-07-03 07:28:37 发布

您现在位置:Python中文网/ 问答频道 /正文

当我试图用命令gunicorn -w 3 run:app启动gunicorn时 它崩溃并导致以下错误:

[2021-08-05 08:35:34 +0000] [71840] [INFO] Booting worker with pid: 71840
[2021-08-05 08:35:34 +0000] [71840] [ERROR] Exception in worker process
Traceback (most recent call last):
  File "/home/flask/Unmarked/venv/lib/python3.9/site-packages/gunicorn/arbiter.py", line 589, in spawn_worker
    worker.init_process()
  File "/home/flask/Unmarked/venv/lib/python3.9/site-packages/gunicorn/workers/base.py", line 134, in init_process
    self.load_wsgi()
  File "/home/flask/Unmarked/venv/lib/python3.9/site-packages/gunicorn/workers/base.py", line 146, in load_wsgi
    self.wsgi = self.app.wsgi()
  File "/home/flask/Unmarked/venv/lib/python3.9/site-packages/gunicorn/app/base.py", line 67, in wsgi
    self.callable = self.load()
  File "/home/flask/Unmarked/venv/lib/python3.9/site-packages/gunicorn/app/wsgiapp.py", line 58, in load
    return self.load_wsgiapp()
  File "/home/flask/Unmarked/venv/lib/python3.9/site-packages/gunicorn/app/wsgiapp.py", line 48, in load_wsgiapp
    return util.import_app(self.app_uri)
  File "/home/flask/Unmarked/venv/lib/python3.9/site-packages/gunicorn/util.py", line 359, in import_app
    mod = importlib.import_module(module)
  File "/usr/lib/python3.9/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
  File "<frozen importlib._bootstrap>", line 984, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'run'
[2021-08-05 08:35:34 +0000] [71840] [INFO] Worker exiting (pid: 71840)
[2021-08-05 08:35:34 +0000] [71838] [WARNING] Worker with pid 71840 was terminated due to signal 15
[2021-08-05 08:35:34 +0000] [71838] [INFO] Shutting down: Master
[2021-08-05 08:35:34 +0000] [71838] [INFO] Reason: Worker failed to boot.

当我尝试使用普通命令 flask run运行应用程序时,它就像一个魔咒

我相信这与结构有关。但我不确定,因为我对flask、gunicorn和nginx非常陌生:

Image

unmarked.py文件中现在有以下代码:

import requests

App = Flask(__name__)



@App.route('/', methods=['GET', 'POST'])
def home():
    return render_template('welcome.html')

if __name__ == "__main__":
    App.run()

我怎么让gunicorn跑?我不知道


Tags: inpyselfappflaskhomevenvlib
1条回答
网友
1楼 · 发布于 2024-07-03 07:28:37

问题可能与传递给gunicorn的参数有关run:app意味着它需要从run.py获取app,但在您的例子中app位于unmarked.py,因此需要相应地传递第一个参数

此外,我建议重命名App -> app,因为大写名称用于Python中的类

试一试

gunicorn -w 3 unmarked:app

相关问题 更多 >