我刚刚安装了PyCharm Community Edition 3.4.1并尝试在其中创建一个简单的pygame项目。我发现代码完成以一种奇怪的方式运行。在这种情况下:
from pygame import event
event.
当我键入event.
时,会立即显示带有event
方法的完成弹出窗口。但在第二种情况下:
import pygame
pygame.event.
弹出窗口仅包含object
个方法。
如何学习自动完成工具以深入了解库?
答案 0 :(得分:5)
除了创建自己的skeletons之外,您无法做到。如果启用以下内容,则可以使pycharm更好地完成代码:
但除此之外,你运气不好。 Python很难完成代码,因为它是一种动态语言,并且存根(骨架)并不存在于所有内容中。
答案 1 :(得分:4)
我尝试了Daid的答案(删除了 init .py中的try / except)并且它不起作用,但它非常接近!以下是如何针对pygame进行修复的方法:
例如,更改
try: import pygame.event
到
try: from pygame import event
重新启动PyCharm,它应该可以工作:)
答案 2 :(得分:1)
它与构造pygame的方式有关。
在:
python\Lib\site-packages\pygame\__init__.py
文件包含以下结构:
try: import pygame.cdrom
except (ImportError,IOError):cdrom=MissingModule("cdrom", geterror(), 1)
允许缺少进口。但是,这会混淆pycharm。删除try + except将修复pycharm自动完成。