Ich habe diese Frage bereits bei Stackoverflow gestellt , aber da ich noch keine Antwort erhalten habe und dies möglicherweise Mac-spezifisch ist, frage ich hier erneut:
Ich verwende Pyinstaller, um eine Python-App in eine Mac-App zu packen. Das funktioniert gut. Kürzlich habe ich mit Tkinter ein GUI-Fenster hinzugefügt, um nach Updates zu suchen, die App zu starten/stoppen usw.
Da passiert etwas Seltsames, das ich nicht verstehe. Nachdem ich PyInstaller erfolgreich ausgeführt und eine onefile
stehende App erstellt habe, erhalte ich nach dem Ausführen das folgende Ergebnis ls -al
:
-rwxr-xr-x 1 karold staff 62756614 8 lis 11:08 mac
drwxr-xr-x 3 karold staff 102 8 lis 11:09 mac.app
Hier ist das Ergebnis beim Ausführen der mac
Datei (oberes Bild) und der mac.app
(unteres Bild):
Beachten Sie den Unterschied in der Fensterauflösung, obwohl das mac.app
Paket genau das gleiche mac
Programm enthält ...
Fehlt mir etwas, um in beiden Fällen die gleiche Lösung zu erhalten?
Ich habe die Antwort gefunden, indem ich die Dokumentation sorgfältig gelesen habe .
Mir fehlten Retina-Einstellungen für hohe Auflösung im App-Teil meiner Spezifikationsdatei, wie in den oben genannten Dokumenten erwähnt:
Wenn Sie beispielsweise PyQt5 verwenden, können Sie NSHighResolutionCapable auf True festlegen, damit Ihre App auch auf dem Retina-Bildschirm funktioniert
Nachdem ich den info_plist
Parameter wie unten angegeben hinzugefügt hatte, war das Problem weg :)
app = BUNDLE(exe,
name='myscript.app',
icon=None,
bundle_identifier=None
info_plist={
'NSHighResolutionCapable': 'True'
},
)