无法在Windows 10和Python 3.7上安装dlib



我正在尝试在Anaconda Python 3.7上的Windows 10上安装OpenCV,dlib。

我已经安装了Visual studio 2015作为CMake的先决条件。当我试图在我的计算机上安装dlib时,它会给我以下错误。我也无法安装OpenCV。我试着用.whl文件安装dlib。但是,仍然没有运气。

Collecting dlib
Using cached https://files.pythonhosted.org/packages/1e/62/aacb236d21fbd08148b1d517d58a9d80ea31bdcd386d26f21f8b23b1eb28/dlib-19.18.0.tar.gz
Building wheels for collected packages: dlib
Building wheel for dlib (setup.py) ... error
ERROR: Command errored out with exit status 1:
command: 'C:Usersdbi227AppDataLocalContinuumanaconda3envsopencv-envpython.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\Users\dbi227\AppData\Local\Temp\pip-install-9vjrsx_l\dlib\setup.py'"'"'; __file__='"'"'C:\Users\dbi227\AppData\Local\Temp\pip-install-9vjrsx_l\dlib\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'rn'"'"', '"'"'n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d 'C:Usersdbi227AppDataLocalTemppip-wheel-2nm313mu' --python-tag cp37
cwd: C:Usersdbi227AppDataLocalTemppip-install-9vjrsx_ldlib
Complete output (73 lines):
running bdist_wheel
running build
running build_py
package init file 'dlib__init__.py' not found (or not a regular file)
running build_ext
Building extension for Python 3.7.4 (default, Aug  9 2019, 18:34:13) [MSC v.1915 64 bit (AMD64)]
Invoking CMake setup: 'cmake C:Usersdbi227AppDataLocalTemppip-install-9vjrsx_ldlibtoolspython -DCMAKE_LIBRARY_OUTPUT_DIRECTORY=C:Usersdbi227AppDataLocalTemppip-install-9vjrsx_ldlibbuildlib.win-amd64-3.7 -DPYTHON_EXECUTABLE=C:Usersdbi227AppDataLocalContinuumanaconda3envsopencv-envpython.exe -DCMAKE_LIBRARY_OUTPUT_DIRECTORY_RELEASE=C:Usersdbi227AppDataLocalTemppip-install-9vjrsx_ldlibbuildlib.win-amd64-3.7 -A x64'
-- Building for: Visual Studio 14 2015
-- Selecting Windows SDK version  to target Windows 10.0.17763.
CMake Error at CMakeLists.txt:3 (project):
Failed to run MSBuild command:
C:/Program Files (x86)/MSBuild/14.0/bin/MSBuild.exe
to get the value of VCTargetsPath:
Microsoft (R) Build Engine version 14.0.25420.1
Copyright (C) Microsoft Corporation. All rights reserved.
Build started 10/23/2019 9:27:01 AM.
Project "C:Usersdbi227AppDataLocalTemppip-install-9vjrsx_ldlibbuildtemp.win-amd64-3.7ReleaseCMakeFiles3.15.3VCTargetsPath.vcxproj" on node 1 (default targets).
C:Program Files (x86)MSBuildMicrosoft.Cppv4.0V140Platformsx64PlatformToolsetsv140Toolset.targets(36,5): error MSB8036: The Windows SDK version 8.1 was not found. Install the required version of Windows SDK or change the SDK version in the project property pages or by right-clicking the solution and selecting "Retarget solution". [C:Usersdbi227AppDataLocalTemppip-install-9vjrsx_ldlibbuildtemp.win-amd64-3.7ReleaseCMakeFiles3.15.3VCTargetsPath.vcxproj]
Done Building Project "C:Usersdbi227AppDataLocalTemppip-install-9vjrsx_ldlibbuildtemp.win-amd64-3.7ReleaseCMakeFiles3.15.3VCTargetsPath.vcxproj" (default targets) -- FAILED.
Build FAILED.
"C:Usersdbi227AppDataLocalTemppip-install-9vjrsx_ldlibbuildtemp.win-amd64-3.7ReleaseCMakeFiles3.15.3VCTargetsPath.vcxproj" (default target) (1) ->
(Desktop_PlatformPrepareForBuild target) ->
C:Program Files (x86)MSBuildMicrosoft.Cppv4.0V140Platformsx64PlatformToolsetsv140Toolset.targets(36,5): error MSB8036: The Windows SDK version 8.1 was not found. Install the required version of Windows SDK or change the SDK version in the project property pages or by right-clicking the solution and selecting "Retarget solution". [C:Usersdbi227AppDataLocalTemppip-install-9vjrsx_ldlibbuildtemp.win-amd64-3.7ReleaseCMakeFiles3.15.3VCTargetsPath.vcxproj]
0 Warning(s)
1 Error(s)
Time Elapsed 00:00:00.51

Exit code: 1

-- Configuring incomplete, errors occurred!
See also "C:/Users/dbi227/AppData/Local/Temp/pip-install-9vjrsx_l/dlib/build/temp.win-amd64-3.7/Release/CMakeFiles/CMakeOutput.log".
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "C:Usersdbi227AppDataLocalTemppip-install-9vjrsx_ldlibsetup.py", line 261, in <module>
'Topic :: Software Development',
File "C:Usersdbi227AppDataLocalContinuumanaconda3envsopencv-envlibsite-packagessetuptools__init__.py", line 145, in setup
return distutils.core.setup(**attrs)
File "C:Usersdbi227AppDataLocalContinuumanaconda3envsopencv-envlibdistutilscore.py", line 148, in setup
dist.run_commands()
File "C:Usersdbi227AppDataLocalContinuumanaconda3envsopencv-envlibdistutilsdist.py", line 966, in run_commands
self.run_command(cmd)
File "C:Usersdbi227AppDataLocalContinuumanaconda3envsopencv-envlibdistutilsdist.py", line 985, in run_command
cmd_obj.run()
File "C:Usersdbi227AppDataLocalContinuumanaconda3envsopencv-envlibsite-packageswheelbdist_wheel.py", line 192, in run
self.run_command('build')
File "C:Usersdbi227AppDataLocalContinuumanaconda3envsopencv-envlibdistutilscmd.py", line 313, in run_command
self.distribution.run_command(command)
File "C:Usersdbi227AppDataLocalContinuumanaconda3envsopencv-envlibdistutilsdist.py", line 985, in run_command
cmd_obj.run()
File "C:Usersdbi227AppDataLocalContinuumanaconda3envsopencv-envlibdistutilscommandbuild.py", line 135, in run
self.run_command(cmd_name)
File "C:Usersdbi227AppDataLocalContinuumanaconda3envsopencv-envlibdistutilscmd.py", line 313, in run_command
self.distribution.run_command(command)
File "C:Usersdbi227AppDataLocalContinuumanaconda3envsopencv-envlibdistutilsdist.py", line 985, in run_command
cmd_obj.run()
File "C:Usersdbi227AppDataLocalTemppip-install-9vjrsx_ldlibsetup.py", line 135, in run
self.build_extension(ext)
File "C:Usersdbi227AppDataLocalTemppip-install-9vjrsx_ldlibsetup.py", line 172, in build_extension
subprocess.check_call(cmake_setup, cwd=build_folder)
File "C:Usersdbi227AppDataLocalContinuumanaconda3envsopencv-envlibsubprocess.py", line 347, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['cmake', 'C:\Users\dbi227\AppData\Local\Temp\pip-install-9vjrsx_l\dlib\tools\python', '-DCMAKE_LIBRARY_OUTPUT_DIRECTORY=C:\Users\dbi227\AppData\Local\Temp\pip-install-9vjrsx_l\dlib\build\lib.win-amd64-3.7', '-DPYTHON_EXECUTABLE=C:\Users\dbi227\AppData\Local\Continuum\anaconda3\envs\opencv-env\python.exe', '-DCMAKE_LIBRARY_OUTPUT_DIRECTORY_RELEASE=C:\Users\dbi227\AppData\Local\Temp\pip-install-9vjrsx_l\dlib\build\lib.win-amd64-3.7', '-A', 'x64']' returned non-zero exit status 1.
----------------------------------------
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: Command errored out with exit status 1:
command: 'C:Usersdbi227AppDataLocalContinuumanaconda3envsopencv-envpython.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\Users\dbi227\AppData\Local\Temp\pip-install-9vjrsx_l\dlib\setup.py'"'"'; __file__='"'"'C:\Users\dbi227\AppData\Local\Temp\pip-install-9vjrsx_l\dlib\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'rn'"'"', '"'"'n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record 'C:Usersdbi227AppDataLocalTemppip-record-3ic8n66vinstall-record.txt' --single-version-externally-managed --compile
cwd: C:Usersdbi227AppDataLocalTemppip-install-9vjrsx_ldlib
Complete output (75 lines):
running install
running build
running build_py
package init file 'dlib__init__.py' not found (or not a regular file)
running build_ext
Building extension for Python 3.7.4 (default, Aug  9 2019, 18:34:13) [MSC v.1915 64 bit (AMD64)]
Invoking CMake setup: 'cmake C:Usersdbi227AppDataLocalTemppip-install-9vjrsx_ldlibtoolspython -DCMAKE_LIBRARY_OUTPUT_DIRECTORY=C:Usersdbi227AppDataLocalTemppip-install-9vjrsx_ldlibbuildlib.win-amd64-3.7 -DPYTHON_EXECUTABLE=C:Usersdbi227AppDataLocalContinuumanaconda3envsopencv-envpython.exe -DCMAKE_LIBRARY_OUTPUT_DIRECTORY_RELEASE=C:Usersdbi227AppDataLocalTemppip-install-9vjrsx_ldlibbuildlib.win-amd64-3.7 -A x64'
-- Building for: Visual Studio 14 2015
-- Selecting Windows SDK version  to target Windows 10.0.17763.
CMake Error at CMakeLists.txt:3 (project):
Failed to run MSBuild command:
C:/Program Files (x86)/MSBuild/14.0/bin/MSBuild.exe
to get the value of VCTargetsPath:
Microsoft (R) Build Engine version 14.0.25420.1
Copyright (C) Microsoft Corporation. All rights reserved.
Build started 10/23/2019 9:27:03 AM.
Project "C:Usersdbi227AppDataLocalTemppip-install-9vjrsx_ldlibbuildtemp.win-amd64-3.7ReleaseCMakeFiles3.15.3VCTargetsPath.vcxproj" on node 1 (default targets).
C:Program Files (x86)MSBuildMicrosoft.Cppv4.0V140Platformsx64PlatformToolsetsv140Toolset.targets(36,5): error MSB8036: The Windows SDK version 8.1 was not found. Install the required version of Windows SDK or change the SDK version in the project property pages or by right-clicking the solution and selecting "Retarget solution". [C:Usersdbi227AppDataLocalTemppip-install-9vjrsx_ldlibbuildtemp.win-amd64-3.7ReleaseCMakeFiles3.15.3VCTargetsPath.vcxproj]
Done Building Project "C:Usersdbi227AppDataLocalTemppip-install-9vjrsx_ldlibbuildtemp.win-amd64-3.7ReleaseCMakeFiles3.15.3VCTargetsPath.vcxproj" (default targets) -- FAILED.
Build FAILED.
"C:Usersdbi227AppDataLocalTemppip-install-9vjrsx_ldlibbuildtemp.win-amd64-3.7ReleaseCMakeFiles3.15.3VCTargetsPath.vcxproj" (default target) (1) ->
(Desktop_PlatformPrepareForBuild target) ->
C:Program Files (x86)MSBuildMicrosoft.Cppv4.0V140Platformsx64PlatformToolsetsv140Toolset.targets(36,5): error MSB8036: The Windows SDK version 8.1 was not found. Install the required version of Windows SDK or change the SDK version in the project property pages or by right-clicking the solution and selecting "Retarget solution". [C:Usersdbi227AppDataLocalTemppip-install-9vjrsx_ldlibbuildtemp.win-amd64-3.7ReleaseCMakeFiles3.15.3VCTargetsPath.vcxproj]
0 Warning(s)
1 Error(s)
Time Elapsed 00:00:00.10

Exit code: 1

-- Configuring incomplete, errors occurred!
See also "C:/Users/dbi227/AppData/Local/Temp/pip-install-9vjrsx_l/dlib/build/temp.win-amd64-3.7/Release/CMakeFiles/CMakeOutput.log".
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "C:Usersdbi227AppDataLocalTemppip-install-9vjrsx_ldlibsetup.py", line 261, in <module>
'Topic :: Software Development',
File "C:Usersdbi227AppDataLocalContinuumanaconda3envsopencv-envlibsite-packagessetuptools__init__.py", line 145, in setup
return distutils.core.setup(**attrs)
File "C:Usersdbi227AppDataLocalContinuumanaconda3envsopencv-envlibdistutilscore.py", line 148, in setup
dist.run_commands()
File "C:Usersdbi227AppDataLocalContinuumanaconda3envsopencv-envlibdistutilsdist.py", line 966, in run_commands
self.run_command(cmd)
File "C:Usersdbi227AppDataLocalContinuumanaconda3envsopencv-envlibdistutilsdist.py", line 985, in run_command
cmd_obj.run()
File "C:Usersdbi227AppDataLocalContinuumanaconda3envsopencv-envlibsite-packagessetuptoolscommandinstall.py", line 61, in run
return orig.install.run(self)
File "C:Usersdbi227AppDataLocalContinuumanaconda3envsopencv-envlibdistutilscommandinstall.py", line 545, in run
self.run_command('build')
File "C:Usersdbi227AppDataLocalContinuumanaconda3envsopencv-envlibdistutilscmd.py", line 313, in run_command
self.distribution.run_command(command)
File "C:Usersdbi227AppDataLocalContinuumanaconda3envsopencv-envlibdistutilsdist.py", line 985, in run_command
cmd_obj.run()
File "C:Usersdbi227AppDataLocalContinuumanaconda3envsopencv-envlibdistutilscommandbuild.py", line 135, in run
self.run_command(cmd_name)
File "C:Usersdbi227AppDataLocalContinuumanaconda3envsopencv-envlibdistutilscmd.py", line 313, in run_command
self.distribution.run_command(command)
File "C:Usersdbi227AppDataLocalContinuumanaconda3envsopencv-envlibdistutilsdist.py", line 985, in run_command
cmd_obj.run()
File "C:Usersdbi227AppDataLocalTemppip-install-9vjrsx_ldlibsetup.py", line 135, in run
self.build_extension(ext)
File "C:Usersdbi227AppDataLocalTemppip-install-9vjrsx_ldlibsetup.py", line 172, in build_extension
subprocess.check_call(cmake_setup, cwd=build_folder)
File "C:Usersdbi227AppDataLocalContinuumanaconda3envsopencv-envlibsubprocess.py", line 347, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['cmake', 'C:\Users\dbi227\AppData\Local\Temp\pip-install-9vjrsx_l\dlib\tools\python', '-DCMAKE_LIBRARY_OUTPUT_DIRECTORY=C:\Users\dbi227\AppData\Local\Temp\pip-install-9vjrsx_l\dlib\build\lib.win-amd64-3.7', '-DPYTHON_EXECUTABLE=C:\Users\dbi227\AppData\Local\Continuum\anaconda3\envs\opencv-env\python.exe', '-DCMAKE_LIBRARY_OUTPUT_DIRECTORY_RELEASE=C:\Users\dbi227\AppData\Local\Temp\pip-install-9vjrsx_l\dlib\build\lib.win-amd64-3.7', '-A', 'x64']' returned non-zero exit status 1.
----------------------------------------
ERROR: Command errored out with exit status 1: 'C:Usersdbi227AppDataLocalContinuumanaconda3envsopencv-envpython.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\Users\dbi227\AppData\Local\Temp\pip-install-9vjrsx_l\dlib\setup.py'"'"'; __file__='"'"'C:\Users\dbi227\AppData\Local\Temp\pip-install-9vjrsx_l\dlib\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'rn'"'"', '"'"'n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record 'C:Usersdbi227AppDataLocalTemppip-record-3ic8n66vinstall-record.txt' --single-version-externally-managed --compile Check the logs for full command output.

我遇到了这个包的anaconda通道的问题。anaconda的当前版本需要Python<3.6.

我用的是pip频道而不是anaconda。通过

pip install dlib

在通过pip安装之前,请确保您使用的是当前环境pip-by-

which pip

这应该输出类似于/home/user_name/anaconda3/envs/env_name/bin/pip的内容

我尝试了很多方法来使用最新版本的Anaconda,即Python 3.7。但是,我无法做到这一点。因为.whl文件中没有一个与Python 3.7兼容,而是与Python 3.6兼容。因此,我按照链接将Python版本降级到3.6。这样一来,spyder和Python就会降级到3.6版本。完成后,我使用以下命令安装了OpenCV。

pip install opencv-python
pip install opencv-contrib-python

我使用以下命令安装了dlib。

pip install dlib-19.8.1-cp36-cp36m-win_amd64.whl

这已成功安装最新版本的dlib。

为了检查是否所有东西都安装正确,我在Anaconda提示符下使用的命令和输出如下。

(py36) C:Usersdbi227> python
Python 3.6.9 |Anaconda, Inc.| (default, Jul 30 2019, 14:00:49) [MSC v.1915 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv2
>>> cv2.__version__
'4.1.1'
>>> import dlib
>>> dlib.__version__
'19.8.1'

重要的是要检查您的iPython安装是否也降级到3.6。为此,在我的开始选项中,除了spyder(anaconda3(之外,我还有一个spyder选项(py36(。请确保单击spyder(py36(。因为那是安装库的地方。要检查它,您只需键入:

import cv2
import dlib

如果这些命令没有显示任何错误,则表明库已正确安装。

您需要编译它。安装Visual Studio 2019和CMake。

然后转到你的dlib文件夹,打开终端并使用命令

python3 setup.py sdist bdist_wheel

它会加载大量文本,然后在dist文件夹中会有一个轮子文件。确保您的Python 3.7.2与dlib version相对应。

最后,你所需要做的就是pip install cp37.whl

无需将Python降级到3.6.x

在Windows上实现这一点的最好方法是在conda中创建另一个环境,然后安装dlib。为什么?因为我们需要针对Windows的预构建轮子(whl(文件:

conda install -c conda-forge dlib

以及触发环境检查/依赖性检查等、包将被升级/降级/删除等。,并且很可能会对您的基础环境产生不必要的影响。因此,当我们遇到包冲突时,创建环境将使您免于头疼。conda将为您管理依赖关系。

您可以通过此处提供的.whl文件之一安装dlib:https://pypi.org/simple/dlib/

例如,如果您想为Windows 64位版本和Python 3.6安装dlib,请下载以下dlib-19.8.1-cp36-cp36m-win_amd64.whl并安装使用

pip3 install dlib-19.8.1-cp36-cp36m-win_amd64.whl

注意:请相应地验证Python版本和操作系统。

最新更新