我尝试通过 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 运行。执行以下步骤来解决此问题:
- 使用以下命令以 root 用户身份登录:
须藤-i
- 导航到您的虚拟环境位置并激活它
- 现在重新启动 uvicorn 服务器
sudo pip install
和pip install
可能位于两个不同的位置。