我正在尝试解决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