尝试在 CentOS 7 上运行 FastAPI 应用程序但出现模块“asyncio”错误

问题描述 投票:0回答:1

我试图在 CentOS 7 上运行一个简单的 FastAPI 应用程序,但遇到了一些错误。我将在上下文中包含更多详细信息:

Python 版本 - 3.6.8 点版本 - 9.0.3

我正在使用此命令运行应用程序:

python3 -m uvicorn main:app

我一直收到这个错误:

Traceback (most recent call last):
  File "/usr/lib64/python3.6/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/usr/lib64/python3.6/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/usr/local/lib/python3.6/site-packages/uvicorn/__main__.py", line 4, in <module>
    uvicorn.main()
  File "/usr/local/lib/python3.6/site-packages/click/core.py", line 1128, in __call__
    return self.main(*args, **kwargs)
  File "/usr/local/lib/python3.6/site-packages/click/core.py", line 1053, in main
    rv = self.invoke(ctx)
  File "/usr/local/lib/python3.6/site-packages/click/core.py", line 1395, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/usr/local/lib/python3.6/site-packages/click/core.py", line 754, in invoke
    return __callback(*args, **kwargs)
  File "/usr/local/lib/python3.6/site-packages/uvicorn/main.py", line 435, in main
    run(app, **kwargs)
  File "/usr/local/lib/python3.6/site-packages/uvicorn/main.py", line 461, in run
    server.run()
  File "/usr/local/lib/python3.6/site-packages/uvicorn/server.py", line 67, in run
    return asyncio.run(self.serve(sockets=sockets))
AttributeError: module 'asyncio' has no attribute 'run'

我最初收到这个错误 -

/home/centos/fast_api/fastapi-tutorial/python3-venv/bin/python3: No module named uvicorn
但在通过
pip3 install uvicorn
安装 uvicorn 之后,我现在收到“模块‘asyncio’错误”

任何帮助都会很棒

我试过在服务器上启用python虚拟环境,但我仍然得到同样的错误。

这可能是 Python 版本的问题吗?

python linux pip fastapi centos7
1个回答
0
投票

FastAPI 需要 Python 3.7+,它与您的解释器不兼容。

在您的情况下,应用程序失败是因为

asyncio.run()
函数是在 Python 3.7 中添加的。

© www.soinside.com 2019 - 2024. All rights reserved.