Python uvicorn : 术语 'uvicorn' 未被识别为 cmdlet、函数、脚本文件的名称

Python uvicorn : The term 'uvicorn' is not recognized as the name of a cmdlet, function, script file

晚上好,

我正在使用 python 3.9 并尝试 运行 基于互联网上的文档 Windows 10 Pro 上的新 FastAPI 服务 https://www.uvicorn.org/ 我执行了以下语句

pip install uvicorn pip install uvicorn[standard]

创建示例文件app.py

from fastapi import FastAPI

app = FastAPI()


@app.get("/")
async def root():
    return {"message": "Hello World"}

但是当我 运行 下面的代码时:

uvicorn main:app --reload


uvicorn : The term 'uvicorn' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify t
hat the path is correct and try again.
At line:1 char:1
+ uvicorn
+ ~~~~~~~
    + CategoryInfo          : ObjectNotFound: (uvicorn:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException

我也在环境设置中添加了Python的路径

我也重装了Python3.9,默认安装路径为c:\ProgramFiles\Python39这个路径现在也包含在系统环境和用户环境设置中

如果我 运行 pip install uvicorn 再次显示以下语句:

λ pip install uvicorn
Defaulting to user installation because normal site-packages is not writeable
Requirement already satisfied: uvicorn in c:\users\username\appdata\roaming\python\python39\site-packages (0.12.2)
Requirement already satisfied: h11>=0.8 in c:\users\username\appdata\roaming\python\python39\site-packages (from uvicorn) (0.11.0)
Requirement already satisfied: click==7.* in c:\users\username\appdata\roaming\python\python39\site-packages (from uvicorn) (7.1.2)
WARNING: You are using pip version 20.2.3; however, version 20.2.4 is available.
You should consider upgrading via the 'c:\program files\python39\python.exe -m pip install --upgrade pip' command.

非常感谢

埃里克

试试这个

pip uninstall uvicorn

然后

pip install --user uvicorn

这完全解决了我机器上的同样问题。

Python 将其脚本安装在以下路径的脚本文件夹中:c:\users\username\appdata\roaming\python\python39\scripts
将该路径放在系统和用户环境变量中。这将解决问题。

首先,你必须运行

virtualenv env

然后安装代码

pip install fastapi uvicorn

您也可以 运行 uvicorn 使用以下命令:

python -m uvicorn main:app --reload

我在 Windows 中使用虚拟环境时遇到了同样的问题,所以解决这个问题的最简单方法是在已经使用 [=11] 激活该环境后,在终端中输入 python -m uvicorn main:app --reload =].

我有同样的问题,发现我没有激活我的虚拟环境

激活后 虚拟环境 uvicorn Example:app --reload 对我有用

也许问题就是这么简单