Pygame 包对 pycharm 解释器不可见(python 3.5)



我正在尝试解决pycharm向我显示警告的问题:

Cannot find reference 'x' in 'y'

对于 pygame 的东西。

例:

Cannot find reference 'circle' in 'draw.py'


在"项目解释器>路径>设置"中,我有:

...
/usr/local/lib/python3.5/dist-packages/
/usr/local/lib/python3.5/dist-packages/pygame-1.9.2b8-py3.5-linux-x86_64.egg

我在这个位置有pygame。

我该怎么做才能摆脱这些警告?


编辑:

import pygame
import time
pygame.init()
resolution = (200, 200)
screen = pygame.display.set_mode(resolution)
background = pygame.Surface(screen.get_size())
background.fill((255, 255, 255))
background = background.convert()
pygame.draw.circle(background, (0, 0, 0), (100, 100), 50, 2)
screen.blit(background, (0, 0))
pygame.display.flip()
time.sleep(5)

这段代码将在白色背景上显示一个黑色圆圈,当由python3运行时,它可以工作。

但是,我在pycharm中收到这些警告:

4: Cannot find reference 'init' in '__init__.py'
6: Cannot find reference 'set_mode' in 'display.py'
10: Cannot find reference 'circle' in 'draw.py'
12: Cannot find reference 'flip' in 'display.py'

这是 Pycharm 中的一个非关键"错误"。它已经存在了很长一段时间,虽然我个人到目前为止还没有遇到过它,但它似乎是一个功能而不是一个错误。

您可以通过在 __all__ 变量中添加模块(要导入的(的名称(紧跟在 import 语句之后(来删除此警告:

from . import pygame, time
__all__ = [pygame, time]

它也可能仅适用于引号中的名称:

__all__ = ["pygame", "time"]

现在不确定。

来源:如果你想阅读它,这里有一个链接,指向另一个模块在使用 Pycharm 运行时的类似问题: 在__init__.py中找不到引用"xxx" - Python/Pycharm

编辑:您可以在此处阅读有关导入/__all__语句如何准确工作的信息(如果您进一步感兴趣(:https://docs.python.org/3.4/tutorial/modules.html?#packages

最新更新