Heim >Backend-Entwicklung >Python-Tutorial >Wie kann ich Datendateien mit der Option --onefile von PyInstaller ordnungsgemäß bündeln?
Bündelung von Datendateien mit PyInstaller (--onefile): Beheben von Dateiverweisproblemen
Beim Versuch, eine ausführbare Datei mit PyInstaller mithilfe des - zu bündeln -onefile-Option kann sich das Einbinden zusätzlicher Dateien wie Bilder und Symbole als schwierig erweisen. Das Problem ist darauf zurückzuführen, dass die kompilierte ausführbare Datei diese referenzierten Dateien nicht finden kann.
Eine mögliche Lösung besteht darin, die Umgebungsvariable für den Pfad der ausführbaren Datei festzulegen. In früheren PyInstaller-Versionen wurde dies mithilfe der Shish-Methode erreicht. Allerdings haben aktuelle Updates von PyInstaller diesen Ansatz überflüssig gemacht.
Um dieses Problem zu beheben, wird der Pfad zur ausführbaren Datei jetzt in sys._MEIPASS gespeichert. Der folgende Code zeigt, wie auf diesen Pfad zugegriffen wird:
def resource_path(relative_path): """ Get absolute path to resource, works for dev and for PyInstaller """ try: # PyInstaller creates a temp folder and stores path in _MEIPASS base_path = sys._MEIPASS except Exception: base_path = os.path.abspath(".") return os.path.join(base_path, relative_path)
Durch die Verwendung dieses modifizierten Ansatzes wird Ihre kompilierte ausführbare Datei die erforderlichen Datendateien erfolgreich finden und nutzen und so eine nahtlose Funktionalität gewährleisten.
Das obige ist der detaillierte Inhalt vonWie kann ich Datendateien mit der Option --onefile von PyInstaller ordnungsgemäß bündeln?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!