4

我尝试通过 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```
4

9 回答 9

7

您可以直接从 cmd 使用以下命令。该路径适合我的情况,但使用 uvicorn 命令仍然出现错误。

python -m uvicorn 
于 2020-12-18T10:09:14.973 回答
6

我最近安装了 fastapi,uvicorn 并尝试运行

uvicorn main:app --reload

我正在使用zsh(外壳类型无关紧要)和pyenv虚拟环境

遇到了同样的麻烦(zsh: uvicorn command not found)

对我有用的解决方案

python -m uvicorn main:app --reload

为什么有效

这是因为当我们安装 uvicorn 时,它会安装一些系统二进制文件,我们可能必须将它们添加到终端捕获的路径中

否则,我们需要通过 python 让终端知道二进制文件

于 2021-09-25T00:09:23.667 回答
5

看起来您的 bin 目录不在 $PATH 上。

直接执行:

/home/vhawk19/.local/bin/unvicorn

或者只是先添加到路径:

export PATH=$PATH:$HOME/.local/bin

你可以把它放在你的 shell rc 文件中。

于 2019-11-25T05:57:08.560 回答
3

我遇到了同样的问题。我正在使用pyenv-win来管理 Python 版本。

以下命令设法解决了这个问题

$ pyenv rehash
于 2021-01-21T02:47:46.017 回答
2

1.首先知道uvicorn所在的位置。您可以通过键入命令知道这一点

$locate uvicorn

现在,选择看起来像的路径

/home/username/.local/bin/uvicorn 

2.然后,输入命令

$ls -a          

在这里,您可以看到一个名为.bashrc.bash_profile 的隐藏文件。现在,我们必须在 ths.bashrc文件或 .bash_profile 中添加我们的 uvicorn 路径。为此,我们使用 nano 文本编辑器并将以下内容写入.bashrc并保存

$nano .bashrc

export PATH:$PATH:/home/username/.local/bin
于 2021-08-01T08:43:47.437 回答
1

检查您的PATH环境变量。它也应该包括unicorn打包的路径。

不确定linux路径,但在 Windows 中,您需要在 Path 环境变量中包含这两个。

D:\Programme\Python\Python37
D:\Programme\Python\Python37\Scripts
于 2019-11-25T05:58:12.097 回答
1

如果您已经满足要求,则创建新的虚拟环境后

通过执行强制卸载所有包: pip freeze > requirements.txt

pip 卸载 -r requirements.txt -y

现在使用以下命令检查软件包: pip list

如果 uvicorn 存在于 requirements.txt 中,则诸如 uvicorn app.main:app --reload 之类的命令将起作用。

如果不使用 pip install uvicorn 安装 uvicorn

& 然后尝试执行 uvicorn app.main:app --reload

现在你应该可以找到 No packages,或者一些默认的包,例如 pip、wheel 等。

从需求重新安装所有软件包: pip install -r requirements.txt

于 2020-10-12T15:17:37.687 回答
0

此问题的一个非常常见的原因是 uvicorn 服务器不是从根目录运行的。执行以下步骤来解决此问题:

  1. 使用命令以 root 用户身份登录:

须藤 -i

  1. 导航到您的虚拟环境位置并激活它
  2. 现在重启 uvicorn 服务器
于 2021-10-03T05:36:58.590 回答
0

sudo pip install并且pip install可能在两个不同的位置。

于 2022-01-08T10:33:15.003 回答