安装pyopencl依赖时屡次出现这一问题,明明我的电脑已经安装过Visual C++ 14.0或者安装VS2015的时候屡次出现“安装包丢失或损坏”等一堆烦人错误。这里把我解决的方法记录下来方便大家参考。
访问https://my.visualstudio.com/Downloads,在搜索框搜索Build Tools for Visual Studio 2017 (version 15.0),这是解决安装VS2017反复提示安装包丢失或者损坏的方法(网上说的其他方法,比如翻墙、离线安装、导入证书等等都没用的)。下载完之后我们进行安装,稍微等待之后我们可以看到选装界面,我们主要是要安装Visual C++相关的依赖库,针对pyopencl我们可以只选装如下插件:
这一操作将安装下载比较大的资源在你的C盘空间,请先腾出5G以上的磁盘空间来安装该环境。
这样就能完美解决此问题。
接下来在使用pip install --index-url https://pypi.doubanio.com/simple/ pyopencl==2019.1.2命令安装pyopencl时继续报错:
c:\users\administrator\appdata\local\temp\pip-install-6sia6xsc\pyopencl_d90c370d679343288a61ac36a9046efc\src\wrap_cl.hpp(57): fatal error C1083: 无法打开包括文件: “CL/cl.h”: No such file or directory
error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\BuildTools\\VC\\Tools\\MSVC\\14.10.25017\\bin\\HostX86\\x64\\cl.exe' failed with exit status 2
此问题是因为电脑没有安装opencl SDK
接下来在nvidia官网安装相关SDK
https://developer.nvidia.com/cuda-11.0-download-archive
AMD解决方法:
下载以下SDK
https://github.com/GPUOpen-LibrariesAndSDKs/OCL-SDK/releases
之后执行:pip3 install --global-option=build_ext --global-option="-Ic:\Program Files (x86)\OCL_SDK_Light\include" --global-option="-Lc:\Program Files (x86)\OCL_SDK_Light\lib\x86_64" pyopencl
I和L后面接OCL_SDK的安装路径