Składanie wersji stołowej gry
PyInstaller buduje grę jako samodzielny plik wykonywalny, ale tylko dla systemu operacyjnego, na którym działa.
Gracz, dla którego tworzysz grę, prawie nigdy nie zainstaluje Python i
pip install pygame-ce tylko po to, by ją zacząć. Gra musi być
pakuj go do pliku wykonywalnego, który działa samodzielnie.
PyInstaller
Jednym z najczęściej używanych narzędzi na komputerze stacjonarnym jest
PyInstaller: analizuje twój program, znajduje wszystko, co potrzebne
(w tym sam Pygame) i składa pojedynczy plik wykonywalny wraz z interpreterem
Python w środku – można grać w taką grę bez instalowania Python na komputerze gracza.
pip install pyinstaller
pyinstaller --onefile --add-data "assets:assets" igra.py
--onefile zbiera wszystko w jeden plik zamiast folderu z zależnościami. --add-data wyraźnie określa, aby dołączyć ten folder
assets w zgromadzeniu – bez tej flagi PyInstaller tylko się zapakuje
kod, a obrazy i dźwięki pozostaną poza gotowym plikiem.
"assets:assets") na wszystkich systemach operacyjnych, w tym Windows. W wersjach sprzed 6.0 separator był specyficzny dla systemu i Windows musiał być zapisywany średnikiem: "assets;assets". Jeśli pracujesz ze starą, przypiętą wersją i build nie znajduje zasobów, najpierw sprawdź ten symbol.Platforma poprzeczna – z pewnym zastrzeżeniem
.exe Windows podczas pracy na Linux i odwrotnie. Aby naprawdę wieloplatformowe wydanie było potrzebne dostęp do każdego z docelowych systemów operacyjnych, bezpośrednio lub przez maszynę wirtualną lub usługę chmurową.Ukryte importy
Pygame zaprojektowany tak, że niektóre moduły są połączone w nietypowy sposób dla Python
W ten sposób czasem PyInstaller nie znajduje ich automatycznie i pomija je w budowli.
Jeśli gotowy plik wykonywalny zawiesza się z ModuleNotFoundError,
Chociaż gra działa poprawnie z kodu źródłowego, zwykle pomaga jednoznaczne określenie takiego modułu
via --hidden-import.
python igra.py i działający build wykonywalny nie gwarantują, że to to samo: różnica w ścieżkach zasobów (sekcja 20.19) i ukrytych importach jest widoczna już na etapie budowania. Zawsze warto uruchomić gotowy plik raz na czystym komputerze (lub przynajmniej z innego folderu), zanim uznamy go za gotowy do wydania.