Bundled Python 3.5.1 App stürzt beim Lesen von Textdateien unter Mac OS X ab
Ich habe eine App mit Python 3.5.1 und PyQt 5.6 unter Mac OS X 10.11.4 erstellt. Alles läuft gut entbündelt.
Ich habe es mit Pyinstaller 3.2 gebündelt. Alles scheint gut zu funktionieren, bis die App Textdateien von der Festplatte liest. Dateizugriff ist nicht das Problem, da ich mit @ alle Dateieigenschaften lesen kalibmagic
, was ich mache, um unerwünschte Eingabeformate herauszufiltern, da dies vom Benutzer ausgewählte Dateien sind, die von meiner App verarbeitet werden sollen.
Die mitgelieferte App stürzt genau dann ab, wenn der Inhalt einer Textdatei auf die übliche Weise in eine Variable eingelesen wird:text = fobj.read()
. Die vorherige Anweisung zum Öffnen der Datei ist jedoch erfolgreich.
Um die Sache noch verrückter zu machen, passiert dies nicht, wenn die App vom Terminal mit dem @ gestartet wiropen
-Befehl, nur wenn er durch Doppelklicken auf die App-Datei gestartet wird. Ich habe gelesen, wie Mac OS X die App-Ausführung auf diese zwei Arten behandelt, aber anscheinend sollte es keinen Unterschied geben, wie in der Manpage für den Befehl open angegeben:
Der Befehl open öffnet eine Datei (oder ein Verzeichnis oder eine URL), als hätten Sie auf das Symbol der Datei doppelgeklickt.
Ich habe seit Tagen mit diesem Problem zu kämpfen und kann keine Lösung finden. Ich muss meine Anwendung verteilen, aber die Aufforderung an die Benutzer, sie vom Terminal aus zu starten, ist nicht sehr ansprechen