如何让PyCharm IDE为pygame的子模块完成代码完成?

时间:2015-03-04 17:34:38

标签: python python-2.7 pycharm

简介:pygame是一个用于创建游戏的python模块。我已经正确安装了模块,我的PyCharm成功导入了它。

我将直接跳到一个示例场景:

尝试使用子模块的获取代码完成"图像"在pygame下工作正常:

pygame.image

当我进一步输入并尝试在图像下获得代码完成时,它无法正常工作:

pygame.image.  # shows a suggestions list, but list doesn't contain any
               # function names under the pygame.image sub-module

我已经尝试了很多年。 PyCharm中的 python控制台可以做到这一点(它使用IPython,如果我错了,请纠正我),但编辑不能。

PS道歉没有显示上面的截图,我没有足够的stackoverflow点来发布图片

3 个答案:

答案 0 :(得分:1)

以下是如何针对pygame解决此问题的方法:

  1. 转到您的pygame文件夹并在文本编辑器中打开__init__.py
  2. 使用try / except子句(第109行附近)导航到导入部分
  3. 将格式从 import pygame.module 更改为从pygame导入模块获取所需模块
  4. 例如,更改

    try: import pygame.event
    

    try: from pygame import event
    

    重新启动PyCharm,它应该可以工作:)

答案 1 :(得分:1)

这是我可怕的解决方案......我基本上输入了我觉得我需要的东西,如果我需要像时钟这样的东西,我只会把它添加到顶部如果我&#39 ;我会经常使用它。

registrations_controller.rb:88: syntax error, unexpected tSYMBEG, expecting keyword_do or '{' or '('

看起来很糟糕,但自动完成工作正常。

答案 2 :(得分:-1)

JetBrains是一个通用的IDE。 IntelliJ的相同自动完成功能与PyCharm及其他所有环境使用的自动完成功能相同。因此,自动完成源自您现有的代码,而不是来自语言的模块。有关详情,请参阅here