Python 有没有办法让pyPortMidi在Win7-64上工作?

Python 有没有办法让pyPortMidi在Win7-64上工作?,python,pyportmidi,Python,Pyportmidi,我正在尝试将pyPortMidi用于为OSX、win32和win64构建的应用程序。我已经让它在OSX和win32上工作,但我一直在努力让它在win64上工作 pyPortMidi是名为PortMidi的C库的包装器,可在as版本0.7和as版本0.9中使用。我用相同的故障模式尝试了两个版本 首先,我使用针对X64的MSVC++2008 Express构建了PortMidi。附带的测试程序可以工作,并且能够与midi端口通信,因此我认为PortMidi构建很好 接下来,我构建了pyPortMid

我正在尝试将pyPortMidi用于为OSX、win32和win64构建的应用程序。我已经让它在OSX和win32上工作,但我一直在努力让它在win64上工作

pyPortMidi是名为PortMidi的C库的包装器,可在as版本0.7和as版本0.9中使用。我用相同的故障模式尝试了两个版本

首先,我使用针对X64的MSVC++2008 Express构建了PortMidi。附带的测试程序可以工作,并且能够与midi端口通信,因此我认为PortMidi构建很好

接下来,我构建了pyPortMidi。对于版本0.7,我必须稍微修改setup.py文件,以说明包含文件的正确位置(从../win32移动到../pm_common),并且它生成时没有错误。版本0.7使用cython来构建pyportmidi.c,而版本0.9使用pyrex来做同样的事情;为了让它工作,我不得不使用使用easy_install安装的pyrex版本。它也没有错误地构建

我可以将库导入Python,但当我第一次调用时,它会立即使Python崩溃:

>>> import pypm
>>> pypm.Initialize()
Problem signature:
  Problem Event Name:   APPCRASH
  Application Name: python.exe
  Application Version:  0.0.0.0
  Application Timestamp:    4e70d55f
  Fault Module Name:    pypm.pyd
  Fault Module Version: 0.0.0.0
  Fault Module Timestamp:   4f8383fc
  Exception Code:   c0000005
  Exception Offset: 0000000000009000
  OS Version:   6.1.7601.2.1.0.256.1
  Locale ID:    1033
  Additional Information 1: 0f1f
  Additional Information 2: 0f1f1099a7fb7a2294c21b52e8fe20f2
  Additional Information 3: 07a8
  Additional Information 4: 07a8c952d5efd7a04abd16111aad6ab0

有人在X64上运行pyPortMidi吗?有关如何调试此问题的任何建议?

更新的pypm模块如图所示。使用以下作品中的win-amd64-py2.7二进制文件:

>>> from pygame import pypm
>>> pypm.Initialize()

这很有效。为了满足我的好奇心,我得看看发生了什么变化。谢谢你的指点!我希望更多的人找到这个答案。Pygame是一个简单的小下载,将pyportmidi的测试脚本(从它的下载,而不是Pygame的)更改为这一行可以立即工作。这是将一些midi数据导入python的最简单的解决方案,非常适合我的需要。