gpt4 book ai didi

python - 模块未找到错误 : No module named 'flask_httpauth'

转载 作者:行者123 更新时间:2023-12-04 03:34:22 28 4
gpt4 key购买 nike

我现在正在使用 gunicorn 启动一个 flask 服务器。但是,在这样做的同时,我在尝试使用

启动 flask 服务器时收到 ModuleNotFoundError
gunicorn src:app --config gunicorn_config.py

src/init.py 中的 Flask 代码

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

就其值(value)而言,我能够更早地运行它并成功启动。但是今天下午它停止工作了。

最佳答案

根据 Flask 标准,您不应将应用实例保留在 __init__ 中,而应保留在任何自定义模块中。如果放在__init__中,则必须使用factory layout。另外,gunicorn 指向的不是模块,而是文件。在你的情况下,因为你调用 gunicorn 到应用程序,你应该将应用程序实例放在 src 文件夹中的 app.py 文件中。

关于python - 模块未找到错误 : No module named 'flask_httpauth' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67223333/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com