gpt4 book ai didi

visual-studio-code - 如何让某些 pygame 模块在 VSC 中工作?,其他修复不起作用

转载 作者:行者123 更新时间:2023-12-04 08:00:08 25 4
gpt4 key购买 nike

我现在遇到麻烦,使用最新的 python 和 vsCode。对于我正在使用的不同 pygame 功能,我不断收到“模块 pygame 没有空白成员 Pylint no-member”。 K_a、K_s、K_d、K_f 和这些控件在游戏中工作正常,但像 QUIT 和 KEYDOWN 以及 LCTRL 和 RCTRL 这样的控件只会使游戏崩溃。 VSC 说模块 pygame 没有任何成员,即使是那些工作的。但是当我尝试 LCRTL 等时它会崩溃。
我的理解是,这是一个安全功能,Pylint 会阻止某些 pygame 模块,但我不确定,我发现了一些类似的问题,人们建议添加“”python.linting.pylintArgs”:[
"--extension-pkg-whitelist=pygame"和其他到 settings.json 文件。但我已经尝试了这些,它仍然不起作用!我还尝试添加导入所有 pygame 模块行并尝试单独添加 pygame 模块,但没有任何效果。请帮忙。
另外,如果它有帮助,idk,但是当我将鼠标悬停在我的任何 pygame 模块(如 K_a 或 K_LCRTL)上时,它们显示为整数而不是特殊的 pygame 模块。它们甚至没有突出显示它们只是看起来像常规文本。
编辑:也许值得注意的是,VSC 甚至知道它们是 pygame 控件,因为当我键入它们时,它甚至会为我自动填充它们。我认为它只是阻止某些人的pylint。但就像我说的那样,它们都显示为“不是 pygame 成员,pylint 非成员),而且我没有任何名为 game 或 pygame 的文件或任何与它有关的文件。

最佳答案

Pylint 仅分析您的代码,不能在执行过程中阻止对库的访问。如果在执行过程中出现导入错误,则意味着对于这个特定版本的 pygame 的导入是错误的,无论 pylint 怎么说。如果代码有效,则意味着 pylint 误认为导入错误。
更准确地说,pylint 默认情况下不会在 C 绑定(bind)中加载代码。 Pygame 具有 c 绑定(bind),因此这意味着 pylint 无法正确检查这些导入,并说由于 C 代码 pylint 无法分析而实际上它工作时没有成员。
在您的 extension-pkg-whitelist 中添加 pygame实际上是在这种情况下你必须做的。

# A comma-separated list of package or module names from where C extensions may
# be loaded. Extensions are loading into the active Python interpreter and may
# run arbitrary code
extension-pkg-whitelist=pygame
但是在一天结束时,pylint 可能会出错,如果导入确实很糟糕,您需要在测试自己之后通过启动代码或禁用 pylint 检查导入是否可以使用 # pylint: disable=no-member 来修复这些错误。 .

关于visual-studio-code - 如何让某些 pygame 模块在 VSC 中工作?,其他修复不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66512731/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com