Uvicorn启动FastAPI项目时出现Celery模块找不到错误求助
解决Celery模块找不到的问题
出现ModuleNotFoundError: No module named 'celery'的核心原因是运行Uvicorn的Python环境和Poetry安装依赖的虚拟环境不一致,可以按以下步骤排查解决:
1. 激活Poetry虚拟环境后启动服务
Poetry会为项目创建独立的虚拟环境,未激活时系统默认Python无法访问其中的依赖:
# 激活虚拟环境 poetry shell # 启动FastAPI服务 uvicorn main:app
2. 直接用Poetry Run命令启动(无需手动激活环境)
用Poetry的run命令可以直接在虚拟环境上下文执行Uvicorn,避免环境不一致问题:
poetry run uvicorn main:app
3. 重新确认依赖安装完整性
如果之前的依赖安装可能存在异常,重新执行安装命令确保所有依赖都正确安装:
poetry install
4. 排查虚拟环境一致性
执行以下命令查看当前Poetry虚拟环境的路径:
poetry env info
检查输出中的Virtualenv路径,确认Celery包是否存在于该路径下的site-packages目录中,若不存在则重新执行poetry install。
内容的提问来源于stack exchange,提问作者Leo
相关产品推荐
相关产品推荐

