虚拟环境安装了fastapi但是使用时报错:ModuleNotFoundError: No module named ‘fastapi‘
1、问题描述
使用Python的fastapi写了几个后端接口,起服务时确一直报错:ModuleNotFoundError: No module named ‘fastapi’。开始以为版本冲突了,但是换源、安装不同版本,来了几次发现还是这个问题
uvicorn main:app --host 0.0.0.0 --port 10015
2、解决方法
执行查看apifast查看是否成功:
python -c "import fastapi; print(fastapi.__version__)"
结果能打印信息,再直接使用虚拟环境的python,起服务:
/opt/miniforge3/envs/nlp_env/bin/python -m uvicorn main:app --host 0.0.0.0 --port 10015
这会成了。
3.原因分析
原因是系统包含多个uvicorn 可执行文件,通过$path找到的是 全局的uvicon,而uvicorn 链接到的是系统python环境,不是虚拟环境。