var*_*hna 2 python python-3.x asgi uvicorn
我尝试通过 pip3 在系统上安装 uvicorn ,但我无法从命令行运行它。有关如何解决此问题的任何指示?
Requirement already satisfied: uvicorn in /home/vhawk19/.local/lib/python3.7/site-packages (0.10.8)
Requirement already satisfied: uvloop>=0.14.0; sys_platform != "win32" and sys_platform != "cygwin" and platform_py
thon_implementation != "pypy" in /home/vhawk19/.local/lib/python3.7/site-packages (from uvicorn) (0.14.0)
Requirement already satisfied: websockets==8.* in /home/vhawk19/.local/lib/python3.7/site-packages (from uvicorn)
(8.1)
Requirement already satisfied: click==7.* in /home/vhawk19/.local/lib/python3.7/site-packages (from uvicorn) (7.0
)
Requirement already satisfied: h11==0.8.* in /home/vhawk19/.local/lib/python3.7/site-packages (from uvicorn) (0.8
.1)
Requirement already satisfied: httptools==0.0.13; sys_platform != "win32" and sys_platform != "cygwin" and platform
_python_implementation != "pypy" in /home/vhawk19/.local/lib/python3.7/site-packages (from uvicorn) (0.0.13)
vhawk19@api-server:~/api-server$ uvicorn
-bash: uvicorn: command not found```
Run Code Online (Sandbox Code Playgroud)
小智 45
我最近安装了 fastapi,uvicorn 并尝试运行
uvicorn main:app --reload
我正在使用zsh(shell 类型无关紧要)和pyenv虚拟环境
遇到了同样的麻烦(zsh:未找到 uvicorn 命令)
对我有用的解决方案
python -m uvicorn main:app --reload
为什么它有效
这是因为当我们安装 uvicorn 时,它会安装一些系统二进制文件,我们可能必须将其添加到终端才能捕获的路径中
否则,我们需要通过 python 让终端知道二进制文件
您的 bin 目录似乎不在 $PATH 上。
直接执行:
/home/vhawk19/.local/bin/unvicorn
Run Code Online (Sandbox Code Playgroud)
或者先添加到路径:
export PATH=$PATH:$HOME/.local/bin
Run Code Online (Sandbox Code Playgroud)
您可以将其放入 shell rc 文件中。
您可以直接从 cmd 使用以下命令。该路径适合我的情况,但我仍然使用 uvicorn 命令收到错误消息。
python -m uvicorn
Run Code Online (Sandbox Code Playgroud)
我用了
python3 -m uvicorn main:app --reload
Run Code Online (Sandbox Code Playgroud)
它有效,因为我的电脑中有多个版本的 python。
检查你的PATH环境变量。它也应该包括包的路径unicorn。
不确定linux路径,但在 Windows 中,您需要将这两个路径添加到 Path 环境变量中。
D:\Programme\Python\Python37
D:\Programme\Python\Python37\Scripts
Run Code Online (Sandbox Code Playgroud)