FastAPI:ModuleNotFoundError:没有名为“uvicorn”的模块

Vol*_*il3 8 python gunicorn fastapi uvicorn

我承认我gunicorn以前从未使用过。当我运行命令时gunicorn main:app -k uvicorn.workers.UvicornWorker出现错误:

Error: class uri 'uvicorn.workers.UvicornWorker' invalid or not found: 

[Traceback (most recent call last):
  File "/Users/AdnanAhmad/Data/anaconda3/lib/python3.7/site-packages/gunicorn/util.py", line 135, in load_class
    mod = import_module('.'.join(components))
  File "/Users/X/Data/anaconda3/lib/python3.7/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 953, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 965, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'uvicorn'
Run Code Online (Sandbox Code Playgroud)

Vas*_*h79 10

检查您是否从终端使用which gunicorn(在 Linux 上,或在 Windows 上的 Powerbash 上)调用正确的 Gunicorn。where如果您使用 venv,它应该打印指向 venv 目录内部的路径。

这也发生在我身上,因为我按照 Gunicorn 页面的说明并使用sudo apt install gunicorn. 对于您的生产容器来说,这可能是一个不错的选择,您可能会在没有 venv 的情况下运行应用程序,但在您计算机上的开发人员模式下,如果您使用 venv 目录中的 ,使用pip install gunicornvenvpip中的来安装 Gunicorn ,那么它会工作得更好。

然后你可以用它来调用它python -m gunicorn main:app -k uvicorn.workers.UvicornWorker