MacBook下PyCharm中deepface导入失败:无法导入distance模块求助
解决ImportError: cannot import name 'distance' from 'deepface.commons'
修复方案
1. 调整导入语句适配版本
deepface 0.0.89里,distance模块不再直接暴露在deepface.commons顶层,你需要修改导入路径:
# 按需导入具体距离计算函数 from deepface.commons.distance import findEuclideanDistance, findCosineDistance # 或者直接导入整个distance模块 import deepface.commons.distance as distance
2. 确认虚拟环境的deepface安装状态
在PyCharm终端(已激活虚拟环境)执行以下命令,验证包的安装路径和版本:
pip show deepface
确保输出的Location是/opt/anaconda3/envs/LIP/lib/python3.9/site-packages/,版本为0.0.89。如果不符,重新安装:
pip uninstall -y deepface pip install deepface==0.0.89
3. 核对PyCharm的解释器配置
打开File > Settings > Project: [你的项目名] > Python Interpreter,确认选中的解释器是你的虚拟环境(/opt/anaconda3/envs/LIP/bin/python3.9),避免用错系统或其他环境的Python。
4. 清理PyCharm缓存重启
PyCharm的模块缓存可能导致识别错误,执行File > Invalidate Caches...,选择Invalidate and Restart,重启后再运行代码。
5. 手动检查__init__.py(可选)
打开/opt/anaconda3/envs/LIP/lib/python3.9/site-packages/deepface/commons/__init__.py,如果里面没有from . import distance这句话,你可以手动添加,但注意后续更新deepface会覆盖这个修改,优先用前面的导入方式更稳妥。
内容的提问来源于stack exchange,提问作者Rishabh Arora
相关产品推荐
相关产品推荐

