已通过Pipenv安装SQLAlchemy,FastAPI运行时却提示模块找不到
以下是针对你遇到问题的具体排查和解决步骤:
确认FastAPI启动命令绑定Pipenv环境
不要直接执行uvicorn main:app --reload,必须通过Pipenv调用:pipenv run uvicorn main:app --reload或者先通过
pipenv shell进入虚拟环境,再启动服务,避免系统全局Python环境干扰。验证Python路径一致性
在能正常导入SQLAlchemy的交互式Python中执行:import sys print(sys.executable)得到当前虚拟环境的Python路径;再在启动FastAPI的终端中执行
which python(Linux/macOS)或where python(Windows),对比两个路径是否完全一致。若不一致,说明启动服务用的不是Pipenv对应的解释器。同步Pipfile与Pipfile.lock依赖
执行以下命令清除旧锁文件并重新同步依赖:pipenv lock --clear pipenv install同时检查Pipfile中是否明确包含
sqlalchemy = "==1.4.45",若缺失需手动添加后重新执行pipenv install。排查IDE解释器配置
如果使用VS Code等编辑器,检查左下角选中的Python解释器是否为Pipenv虚拟环境(路径通常为~/.local/share/virtualenvs/项目名-随机字符串/bin/python),避免IDE默认使用全局Python导致依赖找不到。检查代码导入与命名冲突
确认models.py和main.py中的导入语句拼写正确(如import sqlalchemy或from sqlalchemy import ...);同时检查项目目录下是否存在自定义的sqlalchemy.py文件,该文件会覆盖第三方库导致导入失败。
错误日志示例(参考你的报错)
ModuleNotFoundError: No module named 'sqlalchemy'
内容的提问来源于stack exchange,提问作者louistheone48

