【发布时间】:2017-11-07 15:38:56
【问题描述】:
我在 Windows 10 上通过 Anaconda 运行 python 3.5.4 和来自 conda-forge 的 pyopencl 2017.2,通过 Anaconda 安装。我的系统是 i5 4670K,运行 R9 290 驱动版本 17.11.1 与 OpenCL 版本 23.20.788.0.
尝试导入 pyopencl 模块时遇到以下错误
>>> import pyopencl as cl
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "[my home folder]\Anaconda3\lib\site-packages\pyopencl\__init__.py", line 37, in <module>
import pyopencl.cffi_cl as _cl
File "[my home folder]\Anaconda3\lib\site-packages\pyopencl\cffi_cl.py", line 39, in <module>
from pyopencl._cffi import ffi as _ffi
ImportError: DLL load failed: The specified module could not be found.
加载_cffi.pyd 时出现错误。此错误与之前线程中显示的问题有相似之处:
cffi load failure when trying to import PyOpenCL
pyopencl import error cffi.so undefined symbol
但是,尽管安装完成(似乎)没有错误,但我从 AMD 和 Intel 安装了 OCL SDK:s,问题仍然存在。我还更新了我的显卡驱动程序。
我尝试使用 Dependency Walker 来检查 _cffi.pyd 的依赖关系,如以下线程中所述:
Python pyopencl DLL load failed even with latest drivers
这确实在opencl.dll 下出现了很多循环依赖项和缺失的依赖项,名称以API-MS-WIN 和EXT-MS-WIN 开头。重命名 /System32 中的 opencl.dll 并改用 \Anaconda3\Library\bin 中的那个时,依赖性错误仍然存在。
搜索了一下,找到了这个帖子:
Dependency Walker: missing dlls
这基本上是说缺少的依赖项没什么好担心的。
【问题讨论】:
标签: python dll opencl pyopencl