简略版
在使用第三方库VTK时发现在PyCharm中无法自动补齐,这在写代码的时候会非常不方便。
解决方案是:
详细版
发现VTK虽然无法自动补全,但是相应的函数仍然可以正常使用,只是会提示函数在vtk.py中无法找到定义,所以打开vtk.py一探究竟。发现vtk.py中有如下的代码:
import importlib.util
# import vtkmodules.all
all_spec = importlib.util.find_spec('vtkmodules.all')
all_m = importlib.util.module_from_spec(all_spec)
all_spec.loader.exec_module(all_m)
# import vtkmodules
vtkmodules_spec = importlib.util.find_spec('vtkmodules')
vtkmodules_m = importlib.util.module_from_spec(vtkmodules_spec)
vtkmodules_spec.loader.exec_module(vtkmodules_m)
我刚刚学习Python,对这段代码的功能其实并不完全了解,不过看起来像是这个vtk.py只是对vtkmodules的调用加了一个壳子或者进行了某些管理,所以尝试把import的语句改成了下面的样子:
import vtkmodules.all as vtk
试了一下竟然可以正常补全了!
(๑•̀ㅂ•́)و✧