VS 代码 python 不自动完成 scipy.stats

VS Code python doesn't autocomplete scipy.stats

scipyt.stats 中我们有变量 binom vscode 中的自动完成似乎找不到它。 在 pycharm 中,自动完成工作正常。任何指针好像为什么会这样? 也只是一些带有 binom 的示例代码如下 from scipy.stats import binom; binom.rvs(10,0.5,size=12).

似乎 binom is defined in the submodule scipy/stats/_discrete_distns, which is imported by the main module in scipy/stats/__init__. I believe that variable doesn't get autocomplete because it's defined in an internal module of scipy.stats (_discrete_distns has the underscore prefix),即 VS Code 在这种情况下将其视为“私有”。

我尝试了一些扩展,如 IntelliCode 和 Pylance,但它仍然无法从 scipy/stats 自动完成 binom。我设法让它自动完成的唯一方法是直接导入 scipy/stats/_discrete_distns

这是scipy.stats包下的__init__.py文件:

from .stats import *
from .distributions import *

from .morestats import *
from ._binomtest import binomtest
from ._binned_statistic import *
from .kde import gaussian_kde
from . import mstats
from . import qmc
from ._multivariate import *
from . import contingency
from .contingency import chi2_contingency
from ._bootstrap import bootstrap
from ._entropy import *
from ._hypotests import *
from ._rvs_sampling import rvs_ratio_uniforms, NumericalInverseHermite
from ._page_trend_test import page_trend_test
from ._mannwhitneyu import mannwhitneyu

__all__ = [s for s in dir() if not s.startswith("_")]  # Remove dunders.

from scipy._lib._testutils import PytestTester

test = PytestTester(__name__)
del PytestTester

它不包含:from ._discrete_distns import binom。所以Pylance不会在建议列表中提示。

您可以通过以下方式导入它:from scipy.stats._discrete_distns import binom 就像上面建议的 bwdm