2014-10-09 3 views
5

Я только что установил PyCharm Community Edition 3.4.1 и попытался создать в нем простой проект pygame. Я обнаружил, что завершение кода выполняется странным образом. В этом случае:PyCharm autocomplete не работает с pygame

from pygame import event 
event. 

, когда я печатаю event. завершение всплывающее окно с event методами сразу показывает. Но во втором случае:

import pygame 
pygame.event. 

всплывающее окно содержит только object методы.

Как я могу изучить инструмент автозаполнения, чтобы глубже проникнуть в библиотеку?

ответ

4

Помимо создания собственных skeletons, вы не можете. Вы можете сделать PyCharm немного лучше в завершение кода, если вы включите следующее:

enter image description here

Но кроме этого, вы не повезло. Python сложно выполнить код, потому что его динамический язык, а заглушки (скелеты) не существуют для всего.

+1

Почему не может IDE использовать IPython, который имеет удивительное автозаполнение? – qed

+0

Поскольку iPython - это консоль, а редактор PyCharm - это редактор. В iPython то, что вы на самом деле делаете, также запускает тяжелый отладчик, чтобы проверить все, что вы просите python. –

1

Это связано с тем, как строится pygame.

The:

python\Lib\site-packages\pygame\__init__.py 

Файл содержит следующую конструкцию:

try: import pygame.cdrom 
except (ImportError,IOError):cdrom=MissingModule("cdrom", geterror(), 1) 

который позволяет пропавшие импорт. Однако это путает пичарм. Удаление try + за исключением исправления автозавершения pycharm.

3

Я попробовал ответ Дайда (удалив попытку/исключая init .py), и это не сработало, но было очень близко! Вот как вы можете это исправить специально для Pygame:

  1. Перейдите в папку Pygame и открытой INIT .py в текстовом редакторе
  2. Перейдите в раздел импорта с Try/за исключением положений (вокруг линии 109)
  3. Изменение формата от импорта pygame.module в из модуля импорта Pygame для модулей, которые вы хотите

для EXA mple, изменить

try: import pygame.event 

в

try: from pygame import event 

Restart PyCharm и он должен работать :)

+0

Я изменил операторы импорта, как вы предлагали, и, кроме того, запустил файл → Invalidate Caches/Restart (занял более 30 минут!), И теперь автозаполнение работает для pygame (в основном). К сожалению, PyCharm по-прежнему собирает такие ошибки во время проверки: «Невозможно найти ссылку« load »в« image.py ». Спасибо, в любом случае! – pixelperfect

Смежные вопросы