【问题标题】:Why pygame cannot find reference '...' in '__init__.py'?为什么pygame在'__init__.py'中找不到引用'...'?
【发布时间】:2020-08-12 00:30:51
【问题描述】:

我正在尝试学习 pygame,但遇到了问题。我使用 PyCharm,当我开始编写代码时,PyCharm 找不到关于 pygame 的参考资料(我在 VScode 上试过,它也是如此)。例如,引用'init','quit','KEYDOWN',......我的代码仍然有效,我可以执行它并且没有出现任何问题,但我没有自动完成(这很烦人),如果它找不到参考,可能有问题。

我已经安装了 pygame,我尝试在 python.org 上安装 .whl 文件,使用 pip 命令pip install pygame,使用 pip 命令py -m pip install -U pygame --user,我尝试查看 pygame 是否使用命令py -m pygame.examples.aliens没有问题。我试图卸载它以重新安装它,但没有任何效果。我的文件名不是“pygame.py”,我已经尝试在 youtube、openclassroom、stackoverflow 上查看任何解决方案……顺便说一下,我正在使用 python 3.8.1。

如果有人可以帮助我,这真的很烦人,我不明白为什么会这样。谢谢你!

这是我的代码测试:

import pygame

pygame.init()

screen = pygame.display.set_mode((1080, 720))

running = True
while running:

    for event in pygame.event.get():

        if event.type == pygame.QUIT:
            running = False
            pygame.quit()

        if event.type == pygame.KEYDOWN:
            print('A key got pressed')

这里有一些截图:

【问题讨论】:

  • from pygame.locals import *是否有效?
  • @Nathan 不,此导入不会改变问题。
  • 另一件很奇怪的事情是,当我打开项目时,没有错误,我有自动完成功能,但几分钟后,错误来了,自动完成功能不再可用。
  • 我不知道......当你在命令行中运行它时会发生什么?
  • @Nathan 当我在 Pycharm 中运行它时,它使用 cmd,我尝试使用“真正的”cmd,并且代码就像在 PyCharm 上一样工作。它只是找不到任何参考,但代码有效!

标签: python python-3.x autocomplete reference pygame


【解决方案1】:

讽刺的是,Pygame 确实有一个 init() 方法。我在 linting 时遇到同样的问题。由于某些原因,linter 无法将 init() 识别为方法。

【讨论】:

  • 那么我该怎么做才能解决这个问题呢?我已经尝试再次安装它,我重置了路径,我把我的目录作为 pycharm 中的标记。最奇怪的是,当我打开项目时,没有出现任何错误,一切正常,但突然,它决定偷懒了……
  • 您可以尝试将以下内容添加到您的 VSCode settings.json 文件中:"python.linting.pylintArgs": [ "--extension-pkg-whitelist=pygame", ]
【解决方案2】:

打开设置并搜索“python.linting.pylintArgs”(无引号)

然后按添加项目并粘贴此“--extension-pkg-whitelist=pygame”(无引号)

它应该有助于 linting

【讨论】:

  • 我试过了,我删除了一个似乎忽略 pygame 的项目并添加了这个项目(在 vscode 上)但它不起作用... vscode 识别某些表达式,如 init、quit 或 locals 表达式QUIT, k_a, ... 但是缺少显示模块等模块。
  • 我在 python.linting.pylintArgs 中也有这个 --disable=C0103 我不知道哪个在 vscode 中为我修复了它,但其中一个修复了它
猜你喜欢
  • 2014-06-08
  • 1970-01-01
  • 2022-01-01
  • 2015-02-24
  • 2021-10-10
  • 2016-04-17
  • 1970-01-01
  • 2021-06-08
相关资源
最近更新 更多