我目前使用的是一个名为petsc4py (https://pypi.org/project/petsc4py/)的python模块。我的主要问题是,典型的intellisense功能似乎都不适用于此模块。
我猜这可能与它是一个C扩展模块有关,但我不确定为什么会发生这种情况。我最初认为智能感知无法查看".so“文件,但似乎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()可以完美地工作。


发布于 2019-06-06 02:43:46
如果你是在原地编译,那么你就会碰到https://github.com/microsoft/python-language-server/issues/197。
https://stackoverflow.com/questions/56463839
复制相似问题