我正在使用 TBB 后端从源代码构建 VTK 9.2.2,我生成的轮子在 Linux 上运行良好,但在 Windows 上却出现错误。
在 python 3.10.8 中导入 vtk 模块时,使用 TBB 构建的 VTK 会出现 DLL 加载错误
详情:
>>> import vtk
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\DE-Python\lib\site-packages\vtk.py", line 31, in <module>
all_m = importlib.import_module('vtkmodules.all')
File "C:\DE-Python\Lib\importlib\__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "C:\DE-Python\lib\site-packages\vtkmodules\all.py", line 7, in <module>
from .vtkCommonCore import *
ImportError: DLL load failed while importing vtkCommonCore: The specified module could not be found.
>>>
我尝试使用 os.add_dll_directory() 添加 VTK Dll 的位置,但仍然遇到相同的错误。
有一个未解决的问题:https://gitlab.kitware.com/vtk/vtk/-/issues/18472
这里提到的解决方法都不适合我。
我能够在 VTK 中解决这个问题。
在 python 3.10+ 上编译时,VTK 存在错误,请参见此处:https://gitlab.kitware.com/vtk/vtk/-/issues/18472
一些 VTK 专家/用户提到的当前解决方法是: