我现在正在使用火奴制启动一个烧瓶服务器。但是,在这样做的同时,我在尝试使用ModuleNotFoundError启动烧瓶服务器时获得了一个
gunicorn src:app --config gunicorn_config.pysrc/init.py中的烧瓶代码
1 from flask import Flask
2 from flask_httpauth import HTTPBasicAuth
3 from werkzeug.middleware.proxy_fix import ProxyFix
4
5 app = Flask(__name__)
6 app.wsgi_app = ProxyFix(app.wsgi_app, x_proto=1, x_host=1)
7 auth = HTTPBasicAuth()错误:
(venv) backend #> gunicorn src:app --config gunicorn_config.py
[2021-04-22 19:39:23 -0700] [4149] [INFO] Starting gunicorn 20.0.4
[2021-04-22 19:39:23 -0700] [4149] [INFO] Listening at: http://0.0.0.0:8443 (4149)
[2021-04-22 19:39:23 -0700] [4149] [INFO] Using worker: sync
[2021-04-22 19:39:23 -0700] [4150] [INFO] Booting worker with pid: 4150
[2021-04-22 19:39:23 -0700] [4151] [INFO] Booting worker with pid: 4151
[2021-04-22 19:39:23 -0700] [4152] [INFO] Booting worker with pid: 4152
[2021-04-22 19:39:23 -0700] [4150] [ERROR] Exception in worker process
Traceback (most recent call last):
File "/usr/local/lib/python3.9/site-packages/gunicorn/arbiter.py", line 583, in spawn_worker
worker.init_process()
File "/usr/local/lib/python3.9/site-packages/gunicorn/workers/base.py", line 119, in init_process
self.load_wsgi()
File "/usr/local/lib/python3.9/site-packages/gunicorn/workers/base.py", line 144, in load_wsgi
self.wsgi = self.app.wsgi()
File "/usr/local/lib/python3.9/site-packages/gunicorn/app/base.py", line 67, in wsgi
self.callable = self.load()
File "/usr/local/lib/python3.9/site-packages/gunicorn/app/wsgiapp.py", line 49, in load
return self.load_wsgiapp()
File "/usr/local/lib/python3.9/site-packages/gunicorn/app/wsgiapp.py", line 39, in load_wsgiapp
return util.import_app(self.app_uri)
File "/usr/local/lib/python3.9/site-packages/gunicorn/util.py", line 358, in import_app
mod = importlib.import_module(module)
File "/usr/local/Cellar/python@3.9/3.9.1_1/Frameworks/Python.framework/Versions/3.9/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 986, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 790, in exec_module
File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
File "<PWD>backend/src/__init__.py", line 2, in <module> <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< HERE <<<<<
from flask_httpauth import HTTPBasicAuth
ModuleNotFoundError: No module named 'flask_httpauth'验证安装在虚拟环境中的软件包。
(venv) backend #> pip list | grep -i flask-httpauth
Flask-HTTPAuth 4.0.0
(venv) backend #> which pip
<PWD>/venv/bin/pip
(venv) backend #> which python
<PWD>/venv/bin/python
(venv) backend #> python -V
Python 3.9.1不管它的价值是什么,我能够更早地运行它并成功地启动。但是今天下午它停止工作了。
发布于 2021-04-23 03:48:15
根据水瓶标准,你应该保持应用实例不是在__init__,而是在任何定制模块。如果将其放置在__init__中,则必须使用工厂布局。此外,金刚角不是指向模块,而是指向一个文件。在您的情况下,由于您调用gunicorn到app,您应该将app实例放在src文件夹中的app.py文件中。
https://stackoverflow.com/questions/67223333
复制相似问题