【问题标题】:Pygame package not visible to pycharm interpreter (python 3.5)Pygame 包对 pycharm 解释器不可见(python 3.5)
【发布时间】:2017-09-07 11:30:18
【问题描述】:

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

【问题讨论】:

  • 我的第一个猜测是你的 pygame 版本是针对 Py2.7 的;但我想从你的本地路径来看没问题 - 你能给我们展示一个(小)代码示例吗?如果我们提供的不仅仅是示例,我们可能会为您提供更好的帮助
  • 添加到主帖的代码示例和警告列表

标签: python-3.x pygame pycharm


【解决方案1】:

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

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

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

【讨论】:

  • 我在导入行收到错误:“此检查检测到应该解析但没有解析的名称。由于动态调度和鸭子类型,这在有限但有用的情况下是可能的。顶部-级别和类级别的项目比实例项目更受支持。"
  • 尝试一个一个导入,这样行吗?
  • 或导入: 然后你把“*”运算符排除在外(这意味着带有“from”前缀
  • 显然这是一个暂时的问题,会自行解决;刚刚找到这个链接(看答案1):stackoverflow.com/questions/25147180/…
  • “临时”-这个问题来自 2014 O.o 看起来 jetbrains 不在乎。感谢您提供此链接。
猜你喜欢
  • 1970-01-01
  • 2014-03-23
  • 2022-01-21
  • 1970-01-01
  • 2019-01-02
  • 1970-01-01
  • 1970-01-01
  • 2016-06-24
相关资源
最近更新 更多