我当前正在使用一个名为petsc4py(https://pypi.org/project/petsc4py/)的python模块。我的主要问题是该模块似乎无法使用典型的智能感知功能。
我猜想它可能与C扩展模块有关,但我不确定为什么会这样。我最初以为intellisense无法在“ .so”文件中查找,但似乎numpy可以使用array
对象执行此操作,在我的情况下,该对象位于名为multiarray.cpython-37m-x86_64-linux-gnu
的文件中(请参见下面的示例)。
有人知道为什么我在petsc4py模块中看到此行为。我(或petsc4py的开发人员)可以做些什么来使智能感知工作?
import sys
import petsc4py
petsc4py.init(sys.argv)
from petsc4py import PETSc
x_p = PETSc.Vec().create()
x_p.setSizes(10)
x_p.setFromOptions()
u_p = x_p.duplicate()
import numpy as np
x_n = np.array([1,2,3])
u_n = x_n.copy()
在此示例中,当尝试使用petsc4py中的Vec
对象时,执行u_p.duplicate()
无法找到该函数,并且建议只是对该函数的重复。但是,使用numpy中的array
来完成u_n.copy()
会很好。