VSCode 自动完成/提示不适用于 PySCIPopt(安装在 conda env 中)

问题描述 投票:0回答:1

问题:

VSCode 没有向我显示 pyscipopt 库中对象方法的提示或自动完成选项。

最小工作示例: 为了测试 pysciopt 是否正确安装,我编写并运行了以下代码:

from pyscipopt import Model m = Model("test") m.addVar() m.printStatistics()
VSCode 让我自动完成第一行的“pyscipopt”和“Model”,以及第二行的“Model”。然而,它没有给我第三行和第四行的任何提示。

我通过 VSCode 窗口右上角的“运行 python 文件”图标运行该文件,它在终端中生成以下输出:

SCIP Status : problem creation / modification Total Time : 0.00 reading : 0.00 Original Problem : Problem name : test Variables : 1 (0 binary, 0 integer, 0 implicit integer, 1 continuous) Constraints : 0 initial, 0 maximal Objective : minimize, 0 non-zeros (abs.min = 1e+20, abs.max = -1e+20)
因此,pyscipopt 似乎已正确安装并且可供我的 python 解释器访问。

额外详情

我使用的是 Windows 10。

我首先安装 miniforge anaconda env。经理。然后我创建了一个名为 SCIPopt 的新环境,激活它,然后通过键入

安装了该库

conda install --channel conda-forge pyscipopt


我重新启动了 VSCode 并将“Python 3.12.2 ('SCIPopt') ~\miniforge-pypy3 nvs\SCIPopt\python.exe”设置为我的 python 解释器。在我这样做之前,运行最小工作示例会导致错误(没有名为 pyscipopt 的模块)。

我还尝试将 settings.json 文件添加到我的工作区,其中包含以下内容:

{ "python.pythonPath": "C:\\Users\\{my user name}\\miniforge-pypy3\\envs\\SCIPopt" }
但这并没有帮助。

当我将鼠标悬停在示例中的“addVar()”方法上时,VSCode 会显示以下提示:“(function) addVar : Any”。与我调用的其他方法类似。

当我右键单击代码或其中一种方法的“Model()”位并选择“转到定义”时,我收到一条消息,提示“未找到...的定义”。

我还尝试在激活 SCIPopt 环境的情况下从 miniforge 提示符启动 VSCode,但这也没有帮助。

python visual-studio-code conda intellisense pyscipopt
1个回答
0
投票
我们可以发现该模型属于

scip.pxd

文件。

但目前 Pylance 不支持 Cython。所以这不是一个bug,只是目前不支持这个功能,对于

.pyd

文件也是如此。

您可以在 github 上阅读这两期以获取更多详细信息:

Pylance 可以支持 Cython

从pyd文件获取信息

© www.soinside.com 2019 - 2024. All rights reserved.