2017-07-15 3 views
1

Ich habe ein Programm mit dem Pygame-Modul geschrieben und versuche es zu verwenden, um eine .exe zu erstellen, die ich mit Freunden teilen kann. In meinem Python-Skript-Verzeichnis habe ich einen Ordner, der die .py Datei und einen Ordner namens images enthält, der die Bilder enthält, die im Programm verwendet werden. Das Programm funktioniert problemlos als .py, aber sobald ich es über pyinstaller zu .exe konvertieren Es funktioniert nicht.Ausführbare Datei erstellt mit Pyinstaller konnte Bild nicht öffnen

Nachfolgend finden Sie eine Mindestfunktionsbeispiel:

import os 
import pygame 

def load_image(name): 
    fullname = os.path.join("images", name) 
    image = pygame.image.load(fullname) 
    return image 

pygame.init() 
screen = pygame.display.set_mode((500,500)) 
image = load_image("image.bmp") 
clock = pygame.time.Clock() 

while True: 
    screen.blit(image,(0,0)) 
    pygame.display.flip() 
    clock.tick(60) 

pygame.quit() 

ich dies mit pyinstaller --onefile example.py kompilieren. ich dann von dem Befehl ausführen und die folgende Fehlermeldung:

Traceback <most recent call last>: 
    File "<string>", line 11 in <module> 
    File "<string>", line 6 in load_image 
pygame.error: Couldn't open images\image.bmp 
example returned -1 

Ich gehe davon aus dem etwas mit lokalen vs. globalen Pfaden zu tun hat, aber egal, wie sehr ich Geige Ich kann es nicht scheinen, in Betrieb.

Was muss ich ändern, damit ich die Image-Datei öffnen kann, wenn ich pyinstaller verwende?

+0

Haben Sie den ganzen Weg versucht zu senden? –

+0

Mögliches Duplikat von [Pyinstaller und --onefile: So fügen Sie ein Bild in die EXE-Datei ein] (https://stackoverflow.com/questions/31836104/pyinstaller-and-onefile-how-to-include-an-image- in der exe-Datei) –

Antwort

1

Sie benötigen pyinstaller über die Datendateien mit etwas sagen wie:

pyinstaller --add-data 'images/image.bmp:.' --onefile example.py 

Vom (DOCS)

Verwandte Themen