Parece que los módulos de extensión C incluidos con el wxPython 2.7 dmg here son solo de 32 bits.
$ cd /usr/local/lib/wxPython-unicode-2.8.11.0/lib/python2.7/site-packages/wx-2.8-mac-unicode/wx
$ file *.so
_animate.so: Mach-O universal binary with 2 architectures
_animate.so (for architecture ppc): Mach-O bundle ppc
_animate.so (for architecture i386): Mach-O bundle i386
_aui.so: Mach-O universal binary with 2 architectures
_aui.so (for architecture ppc): Mach-O bundle ppc
_aui.so (for architecture i386): Mach-O bundle i386
...
Desafortunadamente, platform.architecture()
no da una indicación precisa de los cuales arco una arquitectura múltiple OS X Python se ejecuta en. Por ejemplo, utilizando la python.org instalador 3-arch para Python 2.7, platform.architecture()
informa siempre 64- poco, incluso cuando se ejecuta en modo de 32 bits:
$ cd /Library/Frameworks/Python.framework/Versions/2.7
$ file python2.7
python2.7: Mach-O universal binary with 3 architectures
python2.7 (for architecture i386): Mach-O executable i386
python2.7 (for architecture ppc7400): Mach-O executable ppc
python2.7 (for architecture x86_64): Mach-O 64-bit executable x86_64
$ arch -x86_64 ./python2.7 -c 'import platform, sys; print "{0}, {1:x}".format(platform.architecture()[0], sys.maxint)'
64bit, 7fffffffffffffff
$ arch -i386 ./python2.7 -c 'import platform, sys; print "{0}, {1:x}".format(platform.architecture()[0], sys.maxint)'
64bit, 7fffffff
$ arch -ppc ./python2.7 -c 'import platform, sys; print "{0}, {1:x}".format(platform.architecture()[0], sys.maxint)'
64bit, 7fffffff
La forma más fiable es examinar sys.maxint
para Python 2 o sys.maxsize
para Python 3.
no se indica en tu pregunta de cómo invocas a Python. ¿Es a través de una línea shebang en un archivo de script? Si es así, puede que no estés ejecutando el Python que crees que eres. Además, no indica qué Python 2.7 ha instalado. Por ejemplo, actualmente hay dos instaladores para Python 2.7 de python.org: uno admite la ejecución de 32 y de 64 bits, el otro solo de 32 bits. Pruebe lo siguiente:
$ file $(python2.7 -c 'import sys;print(sys.executable)')
/Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python: Mach-O universal binary with 3 architectures
/Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python (for architecture i386): Mach-O executable i386
/Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python (for architecture ppc7400): Mach-O executable ppc
/Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python (for architecture x86_64): Mach-O 64-bit executable x86_64
Por lo tanto: si tiene una versión multi-arco de Python, tendrá que forzar para que se ejecute en modo de 32 bits para hacer uso de la wxPython precompilado.
Parece haber una solución más actualizada a este problema [aquí] (http://stackoverflow.com/questions/9205317/how-do-i-install-wxpython-on-mac-os- X). – senderle