Windows8.1下ImportError: No module named openface问题求助
你已经按步骤在虚拟环境里完成了OpenFace的安装,虽然安装日志显示成功,但不管是运行align-dlib.py还是在Python控制台导入,都遇到了ImportError: No module named openface的问题。我来帮你排查几个常见原因和对应的解决办法:
1. 确认虚拟环境是否真的激活
有时候我们误以为激活了虚拟环境,但实际调用的是系统全局的Python。先验证当前终端使用的Python路径:
# Windows系统执行 where python # Linux/macOS系统执行 which python
输出路径应该包含你的venv目录,比如C:\Users\Haneesh\PycharmProjects\Medium\venv\Scripts\python.exe。如果不符,重新激活虚拟环境:
# Windows venv\Scripts\activate # Linux/macOS source venv/bin/activate
2. 检查OpenFace是否确实安装到了虚拟环境
打开虚拟环境的site-packages目录:C:\Users\Haneesh\PycharmProjects\Medium\venv\Lib\site-packages,确认是否存在openface文件夹,以及安装日志里提到的openface-0.2.1-py3.6.egg-info文件。如果没有,说明安装过程可能有隐藏错误,重新运行安装命令并加上-v参数查看详细日志:
python setup.py install -v
日志里会显示是否有依赖缺失、权限不足等问题。
3. 解决运行align-dlib.py时的路径冲突
你是在openface目录下运行脚本,这时候Python可能会优先从当前目录搜索模块,而不是虚拟环境的site-packages。可以试试两种办法:
- 切换到项目根目录(
C:\Users\Haneesh\PycharmProjects\Medium)再运行命令:
(venv) python openface/util/align-dlib.py openface/training-images/ align outerEyesAndNose openface/aligned-images/ --size 96
- 或者临时修改
align-dlib.py,在开头添加代码把虚拟环境的site-packages路径加入Python搜索路径:
import sys sys.path.append("C:\\Users\\Haneesh\\PycharmProjects\\Medium\\venv\\Lib\\site-packages")
4. 改用pip安装替代setup.py
有时候python setup.py install的可靠性不如pip,你可以先卸载现有版本,再用pip重新安装:
# 卸载已安装的OpenFace pip uninstall openface -y # 回到openface目录,用pip安装 cd openface pip install .
5. 检查Python版本兼容性
你的虚拟环境用的是Python3.6,要确认OpenFace 0.2.1版本是否支持这个Python版本。如果存在版本不兼容问题,可能需要升级/降级Python,或者寻找适配的OpenFace版本。
内容的提问来源于stack exchange,提问作者Sagar.G

