2012-04-11 2 views
1

私は、OSX、win32、およびwin64用に構築したアプリケーションにpyPortMidiを使用しようとしています。私はOSXとwin32で動くようにしましたが、win64で動くように努力しています。pyPortMidiをWin7-64で動かす方法はありますか?

pyPortMidiは、PortMidiという名前のCライブラリのラッパーで、PortMidi source downloadをバージョン0.7、John Harrison's siteをバージョン0.9として使用できます。私は両方のバージョンを同じ障害モードで試しました。

まず、X64をターゲットとしたMSVC++ 2008 Expressを使用してPortMidiを構築しました。付属のテストプログラムが動作し、MIDIポートと通信できるので、PortMidiビルドは問題ないと思います。

次はpyPortMidiを構築しました。バージョン0.7では、インクルードファイル(../win32から../pm_commonに移動)の適切な場所を考慮してsetup.pyファイルを少し修正しなければならず、エラーなしでビルドされました。バージョン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を得ていますか?どのように私はこの問題をデバッグすることができますか?

+0

あなたはこの質問を見てみたいことがあり[ここ](http://stackoverflow.com/questions/27737264/installing-pygame-on -64-bit-windows-7-and-64-bit-python-2-7)を使用してこの問題を解決します。 – tomcat23

答えて

2

更新されたpypmモジュールは、pygame.pypmとして入手できます。 http://www.lfd.uci.edu/~gohlke/pythonlibs/#pygame以下の作品から勝利-AMD64-py2.7バイナリを使用:

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

それは動作します。私は好奇心を満たすために何が変わったかを見ていく必要があります。ポインタありがとう! – LMO

+0

多くの人がこの回答を見つけることを願っています。 Pygameは簡単で簡単にダウンロードでき、pyportmidiのテストスクリプト(pygameのダウンロードではなく、pygameのものではない)をこの行に変更するとすぐに動作します。これは、PythonにいくつかのMIDIデータを取得するための最も簡単なソリューションであり、私のニーズにきわめてよく適合しました。 – tomcat23