Windows10安装dlib失败的几点原因
因为学习Python需要,需要安装dlib库,踩了许多个坑,尝试了种种方法,那一片红色的报错依然刺眼,发现问题,寻找问题的根源,终于找到解决方法。
1.安装dlib前需要有依赖库,cmake和boost。
多简单的问题对不对?
pip install cmake
pip install boost
潇洒回车,轻松安装好,然后
pip install dlib
潇洒回车,潇洒报错…
Collecting dlib
Downloading https://files.pythonhosted.org/packages/05/57/e8a8caa3c89a27f80bc78da39c423e2553f482a3705adc619176a3a24b36/dlib-19.17.0.tar.gz (3.4MB)
|████████████████████████████████| 3.4MB 14kB/s
Building wheels for collected packages: dlib
Building wheel for dlib (setup.py) ... error
ERROR: Complete output from command 'f:\python36\python.exe' -u -c 'import setuptools, tokenize;__file__='"'"'C:\\Users\\fu\\AppData\\Local\\Temp\\pip-install-t50q34ym\\dlib\\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d 'C:\Users\fu\AppData\Local\Temp\pip-wheel-g2i4oztb' --python-tag cp36:
ERROR: running bdist_wheel
running build
running build_py
package init file 'dlib\__init__.py' not found (or not a regular file)
running build_ext
Traceback (most recent call last):
File "C:\Users\fu\AppData\Local\Temp\pip-install-t50q34ym\dlib\setup.py", line 120, in get_cmake_version
out = subprocess.check_output(['cmake', '--version'])
File "f:\python36\lib\subprocess.py", line 356, in check_output
**kwargs).stdout
File "f:\python36\lib\subprocess.py", line 423, in run
with Popen(*popenargs, **kwargs) as process:
File "f:\python36\lib\subprocess.py", line 729, in __init__
restore_signals, start_new_session)
File "f:\python36\lib\subprocess.py", line 1017, in _execute_child
startupinfo)
FileNotFoundError: [WinError 2] 系统找不到指定的文件。
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "" , line 1, in <module>
File "C:\Users\fu\AppData\Local\Temp\pip-install-t50q34ym\dlib\setup.py", line 261, in <module>
'Topic :: Software Development',
File "f:\python36\lib\site-packages\setuptools\__init__.py", line 143, in setup
return distutils.core.setup(**attrs)
File "f:\python36\lib\distutils\core.py", line 148, in setup
dist.run_commands()
File "f:\python36\lib\distutils\dist.py", line 955, in run_commands
self.run_command(cmd)
File "f:\python36\lib\distutils\dist.py", line 974, in run_command
cmd_obj.run()
File "f:\python36\lib\site-packages\wheel\bdist_wheel.py", line 192, in run
self.run_command('build')
File "f:\python36\lib\distutils\cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "f:\python36\lib\distutils\dist.py", line 974, in run_command
cmd_obj.run()
File "f:\python36\lib\distutils\command\build.py", line 135, in run
self.run_command(cmd_name)
File "f:\python36\lib\distutils\cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "f:\python36\lib\distutils\dist.py", line 974, in run_command
cmd_obj.run()
File "C:\Users\fu\AppData\Local\Temp\pip-install-t50q34ym\dlib\setup.py", line 129, in run
cmake_version = self.get_cmake_version()
File "C:\Users\fu\AppData\Local\Temp\pip-install-t50q34ym\dlib\setup.py", line 125, in get_cmake_version
"\n*******************************************************************\n")
RuntimeError:
*******************************************************************
CMake must be installed to build the following extensions: dlib
*******************************************************************
----------------------------------------
ERROR: Failed building wheel for dlib
Running setup.py clean for dlib
Failed to build dlib
Installing collected packages: dlib
Running setup.py install for dlib ... error
ERROR: Complete output from command 'f:\python36\python.exe' -u -c 'import setuptools, tokenize;__file__='"'"'C:\\Users\\fu\\AppData\\Local\\Temp\\pip-install-t50q34ym\\dlib\\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record 'C:\Users\fu\AppData\Local\Temp\pip-record-4kwg7hfv\install-record.txt' --single-version-externally-managed --compile:
ERROR: running install
running build
running build_py
package init file 'dlib\__init__.py' not found (or not a regular file)
running build_ext
Traceback (most recent call last):
File "C:\Users\fu\AppData\Local\Temp\pip-install-t50q34ym\dlib\setup.py", line 120, in get_cmake_version
out = subprocess.check_output(['cmake', '--version'])
File "f:\python36\lib\subprocess.py", line 356, in check_output
**kwargs).stdout
File "f:\python36\lib\subprocess.py", line 423, in run
with Popen(*popenargs, **kwargs) as process:
File "f:\python36\lib\subprocess.py", line 729, in __init__
restore_signals, start_new_session)
File "f:\python36\lib\subprocess.py", line 1017, in _execute_child
startupinfo)
FileNotFoundError: [WinError 2] 系统找不到指定的文件。
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "" , line 1, in <module>
File "C:\Users\fu\AppData\Local\Temp\pip-install-t50q34ym\dlib\setup.py", line 261, in <module>
'Topic :: Software Development',
File "f:\python36\lib\site-packages\setuptools\__init__.py", line 143, in setup
return distutils.core.setup(**attrs)
File "f:\python36\lib\distutils\core.py", line 148, in setup
dist.run_commands()
File "f:\python36\lib\distutils\dist.py", line 955, in run_commands
self.run_command(cmd)
File "f:\python36\lib\distutils\dist.py", line 974, in run_command
cmd_obj.run()
File "f:\python36\lib\site-packages\setuptools\command\install.py", line 61, in run
return orig.install.run(self)
File "f:\python36\lib\distutils\command\install.py", line 545, in run
self.run_command('build')
File "f:\python36\lib\distutils\cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "f:\python36\lib\distutils\dist.py", line 974, in run_command
cmd_obj.run()
File "f:\python36\lib\distutils\command\build.py", line 135, in run
self.run_command(cmd_name)
File "f:\python36\lib\distutils\cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "f:\python36\lib\distutils\dist.py", line 974, in run_command
cmd_obj.run()
File "C:\Users\fu\AppData\Local\Temp\pip-install-t50q34ym\dlib\setup.py", line 129, in run
cmake_version = self.get_cmake_version()
File "C:\Users\fu\AppData\Local\Temp\pip-install-t50q34ym\dlib\setup.py", line 125, in get_cmake_version
"\n*******************************************************************\n")
RuntimeError:
*******************************************************************
CMake must be installed to build the following extensions: dlib
*******************************************************************
----------------------------------------
ERROR: Command "'f:\python36\python.exe' -u -c 'import setuptools, tokenize;__file__='"'"'C:\\Users\\fu\\AppData\\Local\\Temp\\pip-install-t50q34ym\\dlib\\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record 'C:\Users\fu\AppData\Local\Temp\pip-record-4kwg7hfv\install-record.txt' --single-version-externally-managed --compile" failed with error code 1 in C:\Users\fu\AppData\Local\Temp\pip-install-t50q34ym\dlib\
WARNING: You are using pip version 19.1, however version 19.1.1 is available.
You should consider upgrading via the 'python -m pip install --upgrade pip' command.
看看错误信息中有这个:
RuntimeError:
*******************************************************************
CMake must be installed to build the following extensions: dlib
*******************************************************************
我就奇怪,我不是已经安装好这个cmake了嘛,你怎么还是不行。
到这里我才发现一个大问题,dlib貌似不支持python3.6以上的版本,具体可以参照这里
https://pypi.doubanio.com/simple/dlib