安装dlib高版本时需要编译,和查看对应pip版本时提示module ‘pip‘ has no attribute ‘pep425tags‘的解决方案

安装时无法通过的话

pip install dlib

需要下面的方案,多数是因为版本没有对应上。先查看pip版本

win32常用:

import pip;
print(pip.pep425tags.get_supported())

amd64常用:

import pip._internal
  print(pip._internal.pep425tags.get_supported())

import pip._internal.pep425tags

import wheel.pep425tags as w

但是这些在我的电脑上都不管用,有用的命令为在CMD执行:

python -m pip debug –verbose

如果是cp35及以下可以直接在http://mirrors.aliyun.com/pypi/simple/dlib/上下载通过pip install来安装whl,否则需要用源代码编译

,但安装Visual Studio C++环境安装占用磁盘空间比较大,大概14个G左右(但可以在安装dlib后在去卸载掉VS的两个软件)。

pip install  cmake
pip install boost

https://visualstudio.microsoft.com/zh-hans/vs/features/cplusplus/

选择Community 2022版本,这是免费使用的版本,下载后运行安装

image

pip install dlib

如果编译时失败,提示GIF关联的函数错误

就要下载源码,解压后设置参数运行

运行pip download dlib下载dlib-19.xx.tar.gz

解压到目录dlib-19.24.0,然后在目录运行

这样不启用GIF支持,然后才编译完成

pyton setup.py install --no DLIB_GIF_SUPPORT

当前操作系统为windows时,cmake默认是使用Visual Studio作为C/C++编译器,而我们使用的是minGW的gcc和g++,minGW是没有’-A’, ‘X64’这些参数的,而且mingw的多线程编译应该是’-j’才对。因此将其修改如下,注释掉’-A’, ‘X64’,改为4线程编译。

 if platform.system() == "Windows":
            cmake_args += ['-DCMAKE_LIBRARY_OUTPUT_DIRECTORY_{}={}'.format(cfg.upper(), extdir)]
            # if sys.maxsize > 2**32:
            #     cmake_args += ['-A', 'x64']
            # Do a parallel build
            build_args += ['--', '-j4']

另外NMake Makefile是visual studio的生成器,我们使用的是mingw,所以我们应该使用mingw的生成器。 删除当前目录下的build文件夹(否则会使用前面的错误编译缓存),在当前dlib目录打开cmd,输入以下命令运行python版本dlib编译安装:其中-G "MinGW Makefiles"表示使用mingw的生成器,bdist_wheel表示编译生成.whl文件。

python setup.py -G "MinGW Makefiles" bdist_wheel

dlib开始顺利编译安装: 这时在我们的当前目录下多生成了三个文件夹: 其中dist文件夹中就是我们非常熟悉的dlib-19.19.99-cp37-cp37m-win_amd64.whl文件了 当前目录打开cmd,输入以下命令安装:

pip install dlib-19.19.99-cp37-cp37m-win_amd64.whl

另外一种方式可以查看https://zhuanlan.zhihu.com/p/109733967这个地址

- THE END -
版权声明:
转载原创文章请注明,文章出处://kinggoo.com
原文地址:https://kinggoo.com/python-pip-dlib.htm
发表评论?

1 条评论。

  1. 250075083 google ads

    谢谢分享,收藏备用啊

发表评论


此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据