2012-04-11 8 views
1

Ich versuche, PyPortMidi für eine Anwendung zu verwenden, die ich für OSX, win32 und win64 erstelle. Ich habe es auf OSX und win32 laufen lassen, aber ich stehe fest, es auf win64 arbeiten zu lassen.Gibt es eine Möglichkeit, PyPortMidi auf Win7-64 zu arbeiten?

pyPortMidi ist ein Wrapper für eine C-Bibliothek namens PortMidi und ist mit der Version PortMidi source download als Version 0.7 und John Harrison's site als Version 0.9 verfügbar. Ich habe beide Versionen mit dem gleichen Fehlermodus ausprobiert.

Zuerst habe ich PortMidi mit MSVC++ 2008 Express für X64 erstellt. Das mitgelieferte Testprogramm funktioniert und kann mit Midi-Ports kommunizieren, daher finde ich den PortMidi-Build gut.

Als nächstes baute ich PyPortMidi. Für die Version 0.7 musste ich die Datei setup.py leicht modifizieren, um den korrekten Speicherort eines Include-Files zu berücksichtigen (verschoben von ../win32 nach ../pm_common) und es wird ohne Fehler aufgebaut. Während Version 0.7 Cython zum Erstellen von _pyportmidi.c verwendet, verwendet Version 0.9 Pyrex, um das Gleiche zu tun; Damit es funktioniert, musste ich die Version von Pyrex verwenden, die mit easy_install installiert wurde. Es hat auch ohne Fehler gebaut.

Ich bin in der Lage, die Bibliothek in Python zu importieren, aber wenn ich die ersten nenne es sofort machen stürzt 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 

jemand pyPortMidi bekommen hat auf X64 läuft? Irgendwelche Vorschläge, wie ich dieses Problem debuggen könnte?

+0

Sie können an dieser Frage aussehen wollen [hier] (http://stackoverflow.com/questions/27737264/installing-pygame-on -64-Bit-Windows-7-und-64-Bit-Python-2-7) für eine Lösung für diese. – tomcat23

Antwort

2

Ein aktualisiertes Pypm-Modul ist als pygame.pypm verfügbar. Mit Win-amd64-py2.7 Binärdateien aus http://www.lfd.uci.edu/~gohlke/pythonlibs/#pygame folgende Arbeiten:

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

Das funktioniert. Ich muss mir ansehen, was sich geändert hat, um meine Neugier zu befriedigen. Danke für den Zeiger! – LMO

+0

Ich hoffe, dass mehr Leute diese Antwort finden. Pygame war ein kleiner einfacher Download und das Ändern von pyportmidis Testskript (von seinem Download, nicht pygame) in diese Zeile bringt es sofort zum Laufen. Es war die einfachste Lösung, Midi-Daten in Python zu bekommen und passte sich meinen Bedürfnissen an. – tomcat23

Verwandte Themen