Python 使用非标准库冻结,无错误代码

Python 使用非标准库冻结,无错误代码,python,midi,launchpad,pyportmidi,Python,Midi,Launchpad,Pyportmidi,我正在使用一个名为Novation Launchpad的MIDI控制器进行一些工作,该控制器有一个python模块可供导入和使用 我的代码一直卡在线路上LP=launchpad.launchpad()。 下面是我如何尝试消除bug的: import launchpad print "I've started" LP = launchpad.Launchpad() LP.Open() print "I worked!" 该程序从不打印我工作过的,因此我知道我的问题在于创建Launchpad实例

我正在使用一个名为Novation Launchpad的MIDI控制器进行一些工作,该控制器有一个python模块可供导入和使用

我的代码一直卡在线路上
LP=launchpad.launchpad()
。 下面是我如何尝试消除bug的:

import launchpad
print "I've started"
LP = launchpad.Launchpad()
LP.Open()
print "I worked!"
该程序从不打印我工作过的
,因此我知道我的问题在于创建Launchpad实例


使用朋友的笔记本电脑,我们没有任何问题。我有间歇性的问题,它的工作和不工作,真的不知道从哪里开始寻找

因此,在找到一个可以使用这些命令运行的程序后,很快就清楚我没有启动
pygame
pygame.midi

import pygame, pygame.midi, launchpad

pygame.init()
pygame.midi.init()
print "I've started"
LP = launchpad.Launchpad()
LP.Open()
print "I've worked"

运行正常。

您如何知道它卡在
LP=launchpad.launchpad()
中,而不是在
LP.Open()
中?也许您可以在程序明显冻结时按ctrl-C。如果
launchpad
模块卡在无限循环中,后续堆栈跟踪可能会提示问题所在。这是假设您愿意调试第三方代码。因为我不知道
launchpad
这只是一个猜测:
Open()
应该访问一些硬件吗?也许它没有找到它,正在等待它变得可访问?我也尝试过不使用
LP.Open()
命令,这就是它似乎挂断的地方。此外,它所使用的硬件是附加的,可以通过
pygame.midi
和各种DAW识别。我用命令尝试了一个更复杂的脚本,它一点问题都没有,老实说,我有点难堪。。我会发布上面的脚本。哦,我已经猜出来了!答复如下: