La aplicación Python 3.5.1 incluida se bloquea al leer archivos de texto en Mac OS X
He creado una aplicación con Python 3.5.1 y PyQt 5.6 en Mac OS X 10.11.4. Todo funciona bien desagregado.
Lo he incluido usando Pyinstaller 3.2. Todo parece funcionar bien hasta que la aplicación lee archivos de texto del disco. El acceso a los archivos no es el problema, ya que puedo leer todas las propiedades del archivo usandolibmagic
, lo que hago para filtrar los formatos de entrada no deseados, ya que estos son archivos seleccionados por el usuario para ser procesados por mi aplicación.
La aplicación incluida se bloquea exactamente cuando el contenido de un archivo de texto se lee en una variable de la manera habitual:text = fobj.read()
. Sin embargo, la declaración de apertura de archivo anterior es exitosa.
Para hacer las cosas aún más extrañas, esto no sucede cuando la aplicación se inicia desde la terminal con elopen
comando, solo cuando se inicia haciendo doble clic en el archivo de la aplicación. He estado leyendo sobre cómo Mac OS X trata la ejecución de aplicaciones de estas dos maneras, pero aparentemente no debería haber ninguna diferencia, como se indica en la página del manual para el comando de apertura:
El comando abrir abre un archivo (o un directorio o URL), como si hubiera hecho doble clic en el icono del archivo.
He estado luchando con este problema durante días y no puedo encontrar una solución. Necesito distribuir mi aplicación, pero pedir a los usuarios que lo inicien desde la terminal no es muy atractivo ... Cualquier ayuda es muy apreciada.