Ubuntu环境下已安装fastapi仍提示No module named 'fastapi'求助
以下是针对性的排查和解决步骤:
确认代码使用的Python版本
运行以下命令,明确你执行代码时调用的Python解释器版本:python --version python3 --version检查pip与Python版本的对应关系
查看pip/pip3关联的Python环境,确保安装FastAPI的pip和运行代码的Python版本一致:pip --version pip3 --version输出示例:
pip3 23.3.1 from /usr/local/lib/python3.10/dist-packages/pip (python 3.10),这里的python 3.10就是该pip对应的Python版本。验证FastAPI的安装状态
用对应版本的pip检查FastAPI是否已安装:pip list | grep fastapi pip3 list | grep fastapi如果没有输出,说明安装未成功;若有输出,记录FastAPI所在的安装路径。
检查Python的模块搜索路径
运行以下命令,查看当前Python解释器的模块搜索路径,确认FastAPI的安装目录是否在其中:python -c "import sys; print('\n'.join(sys.path))" python3 -c "import sys; print('\n'.join(sys.path))"排查虚拟环境冲突
确认是否在虚拟环境中运行代码,而FastAPI安装在了系统环境(或反之):echo $VIRTUAL_ENV若有输出,说明当前处于虚拟环境,需激活该环境后重新安装FastAPI,或退出虚拟环境使用系统环境运行代码。
处理用户目录安装的权限问题
若你使用pip install --user fastapi安装,包会存放在用户专属目录(如~/.local/lib/pythonX.Y/site-packages)。可通过以下命令查看该路径:python -c "import site; print(site.USER_SITE)"如果该路径不在Python的搜索列表中,可临时在代码开头添加路径(不推荐长期使用,建议用对应环境的pip重新安装):
import sys sys.path.append("/home/your_username/.local/lib/pythonX.Y/site-packages")使用绝对路径运行代码
若存在多个Python版本,直接用对应版本的绝对路径运行脚本,比如:/usr/bin/python3.10 your_fastapi_script.py
内容的提问来源于stack exchange,提问作者Bharat R

