Ejecutando wxPython 2.9 en OS X 10.8 (64 bit)

Tengo EPD 7.3 y he instalado wxPython 2.9 a través de los repositorys de Enthought. Intenté ejecutar winPDB, que requiere wxPython y recibí este mensaje:

This program needs access to the screen. Please run with a Framework build of python, and only when you are logged in on the main display of your Mac. 

He visto mensajes similares de wxPython en Mac, pero todavía no he encontrado una solución. ¿Alguien sabe acerca de este mensaje? Y, ¿alguien ha conseguido que WinPDB funcione en OS X 10.8 w / wxPython 2.9?

Este mensaje de error sucederá cuando Python se use para ejecutar un script wxPython no es una comstackción de marco completo. OSX requiere que las aplicaciones que tienen acceso completo a la pantalla se ejecuten desde un paquete de aplicaciones o formen parte de un marco.

Por lo general, todos los Pythons son estructuras de framework en estos días y ya no hay necesidad de preocuparse por esto, sin embargo, hay una situación en la que sigue siendo un problema, y ​​es con virtualenv o herramientas similares. Con la forma en que se construye el virtualenv, el Python que está allí pierde su conexión con el marco del que proviene, y su uso activa directamente ese mecanismo de seguridad y el código wx no puede obtener acceso completo a la pantalla. Si está experimentando un problema en un virtualenv, he escrito una solución aquí: http://wiki.wxpython.org/wxPythonVirtualenvOnMac

Hmm … Acabo de revisar esto con EPD y descubrí que el ejecutable “python” que proporcionan no es un front-end para el binario Python.app como en las versiones de framework normales, pero es más como una unixy normal Pitón. Ya que estoy en Enthought ahora, le preguntaré a las partes responsables si esto es un error o está pensado, pero mientras tanto puede solucionar esto cambiando qué Python se está ejecutando. Por ejemplo, podría crear un alias “pythonw” en su shell bash que apunte al binario Python.app, como este:

 alias pythonw=/Library/Frameworks/EPD64.framework/Versions/7.3/Resources/Python.app/Contents/MacOS/Python 

Entonces deberías poder ejecutar WinPDB u otras aplicaciones wxPython usando pythonw en lugar de python.