python3.11环境下import dlib发生报错ImportError: DLL load failed while importing _dlib_pybind11的解决方法

        之前拿到一个比较旧的项目文件,其中有一行代码:

import dlib

        运行之后发生了报错:

Traceback (most recent call last):
  File "PATH", line 14, in 
    import dlib
  File "F:\Anaconda 3\envs\python3_11\Lib\site-packages\dlib\__init__.py", line 19, in 
    from _dlib_pybind11 import *
ImportError: DLL load failed while importing _dlib_pybind11: 找不到指定的模块。

        我给这个项目文件配置了python版本3.11的conda虚拟环境,而在给这个虚拟环境安装dlib库时是直接使用了pip命令:

pip install dlib

         结果就如文章开头所示,在尝试运行项目时发生了报错。之后尝试了各种方法,包括卸载重装dlib、安装指定版本的dlib库、去dlib官网下载老版的whl文件,均未解决问题。

        又尝试用cmake编译从dlib官网下载的最新版本dlib源文件,尝试解决一些教程所说的C++编译问题,但是由于我并不是很熟悉这方面的操作所以也没有成功。

        考虑到项目文件可能使用的python版本不同,可能是这方面的原因,于是我新创建了一个python3.8的虚拟环境,在这个环境下运行,但是这样又引出了其他的一些奇奇怪怪的bug,所以也失败了。

        后来发现是安装时的whl文件与python版本没对应上导致的问题。这样思路就比较清晰了,安装对应python版本的whl安装包即可(在文末参考链接中下载)。图中文件名中的cp311即表示对应python3.11版本。     python3.11环境下import dlib发生报错ImportError: DLL load failed while importing _dlib_pybind11的解决方法_第1张图片

        在whl安装包目录下的地址栏直接输入cmd打开命令提示符。然后使用指令

pip install dlib-19.24.1-cp311-cp311-win_amd64.whl

即可完成离线安装。如果要在虚拟环境中安装的话,还需先用conda命令激活相应虚拟环境后再进行安装。至此,运行项目,报错问题解决。

参考:

python3.7-3.11版本利用whl文件快速安装dlib库(无需安装cmake)

你可能感兴趣的:(python,python,pip)