Python PyCharm自动完成不适用于pygame
我刚刚安装了PyCharm社区版3.4.1,并尝试在其中制作一个简单的pygame项目。我发现代码完成以一种奇怪的方式运行。在这种情况下:Python PyCharm自动完成不适用于pygame,python,pygame,pycharm,Python,Pygame,Pycharm,我刚刚安装了PyCharm社区版3.4.1,并尝试在其中制作一个简单的pygame项目。我发现代码完成以一种奇怪的方式运行。在这种情况下: from pygame import event event. 当我键入event.时,一个带有event方法的完成弹出窗口立即显示。但在第二种情况下: import pygame pygame.event. 弹出窗口仅包含对象方法 我如何学习自动完成工具来更深入地查看库?除了创建自己的工具之外,您不能。如果启用以下功能,您可以使pycharm在代码完成
from pygame import event
event.
当我键入event.
时,一个带有event
方法的完成弹出窗口立即显示。但在第二种情况下:
import pygame
pygame.event.
弹出窗口仅包含对象
方法
我如何学习自动完成工具来更深入地查看库?除了创建自己的工具之外,您不能。如果启用以下功能,您可以使pycharm在代码完成方面做得更好:
但除此之外,你运气不好。Python很难完成代码,因为它是一种动态语言,而且存根(骨架)并不是万能的。它与pygame的构造方式有关 委员会: 文件包含以下结构:
try: import pygame.cdrom
except (ImportError,IOError):cdrom=MissingModule("cdrom", geterror(), 1)
这允许丢失导入。然而,这混淆了pycharm。删除try+except将修复pycharm自动完成。我尝试了Daid的答案(在init.py中删除try/except),但它不起作用,但非常接近!以下是专门针对pygame进行修复的方法:
try: import pygame.event
到
重新启动PyCharm,它应该可以工作:)为什么IDE不能使用ipython,它具有非常棒的自动完成功能?因为ipython是一个控制台,而PyCharm的编辑器是一个编辑器。在iPython中,您实际上也在运行一个繁重的调试器,以检查您要求python执行的所有操作→ 失效缓存/重启(耗时30分钟!),现在自动完成对pygame有效(大部分)。不幸的是,PyCharm在检查过程中仍然会收集这样的错误:“在‘image.py’中找不到引用‘load’。无论如何,谢谢!
try: import pygame.event
try: from pygame import event