我正在尝试解决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'
答案 0 :(得分:2)
这是一个非关键的错误"在Pycharm。它已经存在了很长一段时间,虽然到目前为止我个人还没有遇到它,但它似乎是一个功能而不是一个bug。
您可以通过在__all__
变量中添加模块的名称(要导入的)(在导入语句后面)来删除此警告:
from . import pygame, time
__all__ = [pygame, time]
它也可能只适用于引号中的名称:
__all__ = ["pygame", "time"]
现在不确定。
来源:如果你想阅读它,这里是与Pycharm一起运行的另一个模块的类似问题的链接:Cannot find reference 'xxx' in __init__.py - Python / Pycharm
编辑:您可以了解导入/ __all__
语句在这里的确切工作方式(如果您对此感兴趣):https://docs.python.org/3.4/tutorial/modules.html?#packages