安装face_recognition中遇到的坑
打算跑一下人脸识别代码,结果在配环境上遭遇了滑铁卢…
1 pip命令配置
pip install --upgrade pip
失败之后pip命令失效的问题- 需要使用
python -m ensurepip
才能让pip命令重新生效(感觉是—update失败但是删除了一些pip原本的文件,导致pip无法使用) pip install --update --user pip
能够成功更新pip
- 需要使用
pip命令在cmd中无效的问题
- 显然是没有添加环境变量
- 在添加Python的环境变量时,不仅要添加Python文件夹,还要添加Python/Scripts文件夹,pip.exe、pip3.exe以及其他一些可执行文件都在这个目录下
2 face_recognition包的安装
2.1 先安装Cmake
pip install cmake
没有遇到什么问题
2.2 安装dlib的坑
找不到C_CXX_COMPILER的问题
- 由于使用
pip install dlib
命令时,中间文件都在C盘一个奇怪的目录中(xxx/Temp/xxx),猜测这个目录是临时目录,可能安装失败后就自动删除了,所以一直找不到详细错误报告 - 之后在尝试离线安装的时候,中间文件以及错误报告都在自己创建的文件夹中,于是查看详细错误报告,发现是VS的目录下一个CL.exe文件打开失败。退出360安全卫士后解决。(可恶的360!)
- 由于使用
subprocess.CalledProcessError: Command ‘[‘cmake’, ‘—build’, ‘.’, ‘—config’, ‘Release’, ‘—‘, ‘/m’]’ returned non-zero exit status 1.
- 退出360重新安装时出现这个报错。(在疯的边缘了)
- 遍寻伟大的互联网,找到如下解决方法:(5条消息) Windows 安装Dlib出现的问题_jiang7121250的博客-CSDN博客
- 不再报上面的错了,但装完使用pipshow还是找不到(猜测是安装路径的问题,但是把文件拷贝过去还是找不到,直接在依赖包的路径下面安装也不行,所以又尝试了安装dlib.whl文件,见下)
尝试安装dlib的whl文件,报错:平台不支持
了解到cp36代表支持Cpython3.6,于是conda一个新环境试试
中间卡住了(一直在solving environment),感觉也是由于环境或者版本的问题
再继续找方法,看到一个神奇的东西:如何在win下安装dlib的whl文件(Anaconda方式) - 绛绛 - 博客园 (cnblogs.com)
pip debug --verbose
可以显示当前python支持的包格式,正好对应下载的dlib.whl文件名中一些看不懂的参数说明,于是按照合适的版本重命名,再次尝试成功安装!!!激动的心颤抖的手,看看这张美丽的截图:
这还没完,这里是第二天装完OpenCv开始跑代码的虾滑…编译器报错dlib的DLL缺失
- 猜测是由于修改文件名的骚操作导致安装出现问题,解决方法是重装dlib……好嘛从头开始,真的是吐了
- 这又告诉我们,
pip show XXX
是无法检测包有没有安装好的。还是得用import
看看能不能正常使用。
踏上重装之旅,
pip install dlib --verbose
报错:error C2734: “GifAsciiTable8x8”: 如果不是外部的,则必须初始化常量对象 (编译源文件 E:\APKS\dlib-19.14.0\too找到一条看起来很正确的方法!(5条消息) win10安装dlib问题记录_何为其然的博客-CSDN博客
根据上述链接,安装方法和Python版本有很大关系,所以我卸载了已有Python,重装了Anaconda【见第3部分-Python和Anaconda环境配置】,之后选择Python3.6版本安装成功。
2.3 开始安装face_recognition
非常顺利!!
3 Python和Anaconda环境配置
由于已经装了Python3.7 和Python3.8,又新下载了Anaconda,一时搞得有些混乱,于是决定把这俩东西整理一下。
参考:如何在已安装Python条件下,安装Anaconda,,并将原有Python添加到Anaconda中 - amazingym - 博客园 (cnblogs.com)