从终端调用 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```

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

uvicorn main:app --reload

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

遇到同样的麻烦(ZSH:找不到 uvicorn 命令(

对我有用的解决方案

python -m uvicorn main:app --reload

为什么有效

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

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

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

python -m uvicorn 

看起来你的垃圾桶不在$PATH上。

直接执行:

/home/vhawk19/.local/bin/unvicorn

或者只是先添加到路径:

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

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

我用过

python3 -m uvicorn main:app --reload

它有效,因为我的电脑中有多个版本的 python。

创建新的虚拟环境后,如果得到 已满足要求

通过执行以下命令强制卸载所有软件包: 点冻结>要求.txt

pip 卸载 -r 要求.txt -y

现在使用以下方法检查软件包: 点数列表

如果 uvicorn 存在于 requirements.txt,则命令如 uvicorn app.main:app --reload 会工作。

如果没有安装 uvicorn 使用 点子安装优羚羊

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

现在你应该能够找到没有包,或者一些默认包,如pip,wheel等。

重新安装要求中的所有软件包: 点安装 -r 要求.txt

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

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

$ pyenv rehash

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

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

D:ProgrammePythonPython37
D:ProgrammePythonPython37Scripts

1.首先知道狐狸在哪里。您可以通过键入命令来了解这一点

$locate uvicorn

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

/home/username/.local/bin/uvicorn 

2.然后,键入命令

$ls -a          

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

$nano .bashrc
export PATH:$PATH:/home/username/.local/bin

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

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

须藤-i

  1. 导航到您的虚拟环境位置并激活它
  2. 现在重新启动 uvicorn 服务器

sudo pip installpip install可能位于两个不同的位置。

最新更新