已安装passlib仍报ModuleNotFoundError,且缺失Crypto模块求助
解决passlib和Crypto模块找不到的问题
一、处理passlib模块找不到的情况
- 核对Python环境:你安装passlib的Python环境和运行代码的环境大概率不一致。比如用
pip install passlib装在了系统默认Python,但实际用的是虚拟环境、conda环境,反过来也一样。- 验证方式:Linux/macOS下执行
which python查看当前运行环境路径,再执行pip --version查看pip对应的Python路径,必须确保两者匹配。Windows下用where python和pip --version做同样检查。 - 修复:如果用虚拟环境,先激活环境再执行
pip install passlib;用conda的话就执行conda install passlib。
- 验证方式:Linux/macOS下执行
- 重装passlib:可能安装过程出现损坏,先执行
pip uninstall -y passlib彻底卸载,再重新执行pip install passlib。 - 检查代码拼写:确认代码里写的是
from passlib.context import CryptContext,没有把passlib拼错(比如多写了s或者少了字母)。
二、处理Crypto模块找不到的情况
- 正确安装依赖:
Crypto模块属于pycryptodome包,不能直接安装Crypto,执行pip install pycryptodome就能解决这个报错。 - 同样要注意环境一致性:安装pycryptodome的Python环境必须和运行代码的环境一致,检查方法和passlib的一致。
内容的提问来源于stack exchange,提问作者Dnyanesh
相关产品推荐
相关产品推荐

