在'__init__.py'中找不到引用'midi'

时间:2014-12-27 11:06:29

标签: python pygame pycharm midi

PyCharm无法识别

Pygame.midi 我有Python 2.7的pygame版本2.7 IDLE似乎认出了它,但PyCharm没有。这是为什么? 我正在尝试制作DRUM vst, 但我没有走得太远,因为出现了以下错误:

Traceback (most recent call last):
File "C:/Users/user/PycharmProjects/POm/NewtonIncVST.py", line 12, in <module>
reading = in_port.midi.read()
AttributeError: 'int' object has no attribute 'midi'

代码示例

import pygame
import pygame.midi

pygame.init()
pygame.midi.init()

in_port = pygame.midi.get_default_input_id()

port = pygame.midi.get_default_output_id()

reading = in_port.pygame.midi.read()
check = reading.midi.poll()

pygame.midi.quit()

有人可以向我解释为什么PyCharm不会识别pygame.midi吗?

2 个答案:

答案 0 :(得分:0)

我发现Pygame.Midi需要portmidi,它预装了pygame,形式为:

from pygame import pypm
pypm.Initialize()
#needed to initialize pygames compiled version of pyPortMidi

除了翻译之外,它似乎也是一个问题。

答案 1 :(得分:-1)

这应该是因为你的intrepeter与你的IDLE版本版本不同。例如,使用Python 2.7.5的intrepeter,它将无法识别此代码在IDLE版本2.7.9中有任何影响:

IDLE和PyCharm:

string = 'XXXuuu'
string[:-3]

<强>结果:

'XXX'

PyCharm结果:

#Nothing, says that `string[:-3]` has no effect in the program

所以,这是一个例子,说明当你有错误的重复者时会发生什么。另一个解决方案是如果您的intrepeters相同,则将我们的PyCharm更新到版本4.0.3。如果仍然没有,请提交错误报告或测试以查看您的intrepeter是否有缺陷。我希望这可以帮助你!