已安装SQLAlchemy及SQLAlchemy_Utils仍报ModuleNotFoundError求助
解决
ModuleNotFoundError: No module named 'sqlalchemy_utils' 的方案 核心原因
你安装sqlalchemy-utils的Python环境,和运行uvicorn的Python环境不是同一个,导致项目找不到已安装的包。
具体解决步骤
1. 确认运行环境的Python路径
先查清楚uvicorn实际调用的是哪个Python解释器:
# Linux/macOS which uvicorn # Windows where uvicorn
接着查看该解释器对应的pip路径:
# 把下面的路径替换成上面查到的uvicorn关联Python路径 <uvicorn对应的python路径> -m pip --version
2. 用对应环境的pip重装依赖
直接用上述步骤得到的pip工具安装包,确保依赖装到uvicorn使用的环境里:
<uvicorn对应的python路径> -m pip install sqlalchemy-utils sqlalchemy
3. 用虚拟环境隔离环境(推荐)
如果频繁遇到环境不一致问题,用虚拟环境彻底隔离:
- 创建虚拟环境:
python -m venv .venv
- 激活虚拟环境:
# Linux/macOS source .venv/bin/activate # Windows cmd .venv\Scripts\activate.bat # Windows PowerShell .venv\Scripts\Activate.ps1
- 在激活的环境里安装所有需要的依赖:
pip install sqlalchemy sqlalchemy-utils uvicorn fastapi
- 启动项目:
uvicorn main:app --reload
4. 检查拼写一致性
确认代码里导入的是sqlalchemy_utils(下划线),安装时包名是sqlalchemy-utils(短横线)——这部分你代码里是正确的,但安装时要注意包名的短横线写法,pip会自动处理成下划线的导入格式。
内容的提问来源于stack exchange,提问作者faith.veyu0
相关产品推荐
相关产品推荐

