Masz podobne kłopoty, z którymi cierpiałem.
Na komputerze Mac. Założę się, że chcesz użyć pakietu dmg zamiast Instalatora, chyba że naprawdę potrzebujesz zainstalować sterownik lub jakiś DRM.
Założę się, że chcesz utworzyć katalog .app i zapakować go jako plik dmg, abyś mógł łatwo dystrybuować swoją aplikację.
Aby zbudować katalog .app z kodu Pythona, możesz użyć Pyinstaller. Zalety
- To platforma krzyżowa.
- Działa dobrze na Mac, Windows, Linuksie
- Możesz kontrolować wszystko w linii poleceń.
- Ciągle się rozwija.
- Pakuje wymagane zależności automatycznie i nie powoduje konfliktu z zainstalowanym językiem lokalnym na komputerze Python.
- Dobra dokumentacja.
Wady
- trochę niespójności pomiędzy nowej wersji i starej wersji.
Aby zbudować .app użyciu Pyinstaller, oto związane dokument link
i zbudować plik DMG, można bezpłatnie korzystać z opcji out there, ale dla mnie, DMG Canvas było całkiem użyteczne.
Plusy
- linii poleceń wsparcie
szablon
- wsparcie (Utwórz ładny tła i foldery za pomocą GUI i używać go w linii poleceń)
- wsparcie umowy licencyjnej
Cons
- Not Free
O ile mi wiadomo, nie ma zunifikowanego rozwiązania z .py do kompilacji pliku .app i do dmg lub instalatora.
Więc należy napisać kod, aby go zautomatyzować, ale jest to dość proste, ponieważ oba obsługują
linii poleceń.
Jakie są dokładnie twoje wymagania? Czy chcesz po prostu plik, który można kliknąć dwukrotnie, aby uruchomić instalator, czy wystarczy dystrybuować pakiet, który można zainstalować za pomocą komendy jednoliniowej, którą użytkownicy mogą kopiować i wklejać? A może chcesz rozpowszechniać swój pakiet w pliku .dmg, który wywołuje ładny instalator GUI? –
Powinny być równie łatwe do zainstalowania ubuntu .deb lub Windows .exe. Ponadto mamy zależności (Setuptools), które chcemy sprawdzić i automatycznie zainstalować, jeśli nie są obecne. Instalowanie zależności odbywa się w .deb za pośrednictwem jawnej listy zależności i w .exe systemu Windows, określając skrypt instalacyjny przed instalacją bdist_wininst. Chcemy również mieć skrypt poinstalacyjny, który między innymi powiadamia użytkownika o powodzeniu/niepowodzeniu instalacji/kolejnych krokach. – UsAaR33