Najpierw potrzebujesz biblioteki GUI z powiązaniami Pythona, a następnie (jeśli chcesz) jakiś program, który przekonwertuje skrypty Pythona na samodzielne pliki wykonywalne.
Wieloplatformowe biblioteki GUI z powiązaniami Pythona (Windows, Linux, Mac)
Oczywiście jest ich wiele, ale najbardziej popularne, które widziałem na wolności, to:
- Tkinter - oparty na zestawie narzędzi Tk GUI (de facto standardowa biblioteka GUI dla Pythona, darmowa dla projektów komercyjnych)
- WxPython - oparty na WxWidgets (popularny, bezpłatny dla projektów komercyjnych)
- Qt przy użyciu powiązań PyQt lub Qt dla Python . Ten pierwszy nie jest darmowy dla projektów komercyjnych. Ten ostatni jest mniej dojrzały, ale można go używać za darmo.
Pełna lista znajduje się na stronie http://wiki.python.org/moin/GuiProgramming
Pojedynczy plik wykonywalny (wszystkie platformy)
- PyInstaller - najbardziej aktywny (można go również używać z
PyQt
)
- fbs - jeśli wybrałeś Qt powyżej
Pojedynczy plik wykonywalny (Windows)
- py2exe - kiedyś najpopularniejszy
Pojedynczy plik wykonywalny (Linux)
- Zatrzymaj - działa tak samo jak py2exe, ale działa na platformie Linux
Pojedynczy plik wykonywalny (Mac)
- py2app - znowu działa jak py2exe, ale działa na Mac OS
Innym systemem (jeszcze nie wymienionym w zaakceptowanej odpowiedzi) jest PyInstaller, który pracował dla mojego projektu PyQt, gdy py2exe nie. Uznałem, że jest łatwiejszy w użyciu.
http://www.pyinstaller.org/
Pyinstaller jest oparty na Python Installer Gordona McMillana. Który nie jest już dostępny.
źródło
Alternatywnym narzędziem do py2exe jest bbfreeze, który generuje pliki wykonywalne dla systemu Windows i Linux. Jest nowszy niż py2exe i całkiem dobrze radzi sobie z jajkami. Przekonałem się, że magicznie działa lepiej bez konfiguracji dla szerokiej gamy aplikacji.
źródło
Istnieje również PyGTK , który jest w zasadzie opakowaniem Pythona dla Gnome Toolkit. Odkryłem, że łatwiej jest mi się skupić niż Tkinter, ponieważ praktycznie nie znałem wcześniej programowania GUI. Działa całkiem dobrze i ma kilka dobrych samouczków. Niestety nie ma jeszcze instalatora dla Python 2.6 dla Windows i może nie być przez jakiś czas.
źródło
Ponieważ python jest teraz domyślnie instalowany w prawie każdym systemie operacyjnym innym niż Windows, jedyną rzeczą, którą naprawdę musisz się upewnić, jest zainstalowanie wszystkich niestandardowych bibliotek, których używasz.
Powiedziawszy to, możliwe jest zbudowanie plików wykonywalnych zawierających interpreter języka Python i dowolne używane biblioteki. Może to jednak stworzyć duży plik wykonywalny.
MacOS X zawiera nawet obsługę Xcode IDE do tworzenia w pełni samodzielnych aplikacji GUI. Mogą być uruchamiane przez dowolnego użytkownika z systemem OS X.
źródło
W przypadku samego GUI:
PyQT jest właściwie referencją.
Innym sposobem opracowania szybkiego interfejsu użytkownika jest napisanie aplikacji internetowej, uruchomienie jej lokalnie i wyświetlenie aplikacji w przeglądarce.
Ponadto, jeśli wybierzesz opcję Tkinter sugerowaną przez lubos hasko, możesz spróbować portablepy, aby aplikacja działała w środowisku Windows bez Pythona.
źródło
Nie jestem pewien, czy jest to najlepszy sposób, aby to zrobić, ale kiedy wdrażam aplikacje Ruby GUI (nie Python, ale ma ten sam „problem”, jeśli chodzi o pliki .exe) w systemie Windows, po prostu piszę krótki program uruchamiający w języku C #, który wywołuje mój główny skrypt. Kompiluje się do pliku wykonywalnego, a następnie mam plik wykonywalny aplikacji.
źródło
py2exe
Następnie powinieneś użyć py2exe, na przykład, aby przynieść do jednego folderu wszystkie pliki potrzebne do uruchomienia aplikacji, nawet jeśli użytkownik nie ma Pythona na swoim komputerze (mówię o systemie Windows ... dla Apple OS nie ma potrzeby pliku wykonywalnego, tak myślę, ponieważ pochodzi z Pythona bez potrzeby instalowania go.
Utwórz ten plik
1) Utwórz plik setup.py
z tym kodem:
zapisz go w folderze
2) Umieść swój program w tym samym folderze pliku setup.py. W tym folderze umieść program, który chcesz udostępnić: es: l4h.py
ps: zmień nazwę pliku (z l4h na cokolwiek chcesz, to jest przykład)
3) Uruchom cmd z tego folderu (w folderze kliknij prawym przyciskiem myszy + Shift i wybierz opcję Rozpocznij cmd tutaj)
4) Napisz w cmd:> python setup.py py2exe
5) w folderze dist są wszystkie potrzebne pliki
6) można go skompresować i rozpowszechniać
Pyinstaller
Zainstaluj go z cmd
**
**
Uruchom go z cmd z folderu, w którym znajduje się plik
**
**
źródło
PySimpleGUI otacza tkinter i działa na Pythonie 3 i 2.7. Działa również na Qt, WxPython i przeglądarce internetowej, używając tego samego kodu źródłowego dla wszystkich platform.
Możesz tworzyć niestandardowe GUI, które wykorzystują wszystkie te same widżety, które znajdziesz w tkinter (suwaki, pola wyboru, przyciski opcji, ...). Kod wydaje się być bardzo zwarty i czytelny.
Jak wyjaśniono w dokumentacji PySimpleGUI , aby zbudować uruchamiany plik .EXE :
źródło
Nie musisz się kompilować Pythona dla komputerów Mac / Windows / Linux. Jest to język interpretowany, więc wystarczy mieć zainstalowany interpreter Pythona w wybranym systemie (jest dostępny dla wszystkich trzech platform).
Jeśli chodzi o bibliotekę GUI, która działa na wielu platformach, biblioteka widżetów Tk / Tcl Pythona działa bardzo dobrze i uważam, że jest wystarczająco wieloplatformowa.
Tkinter to interfejs Pythona do Tk / Tcl
Ze strony internetowej projektu python:
źródło
Możesz użyć
appJar
do podstawowego programowania GUI.Zobacz dokumentację na stronie appJar .
Instalacja odbywa się za pomocą
pip install appjar
wiersza poleceń.źródło
Byłem zaskoczony, widząc, że nikt nie wspominał o Kivy !!!
Kiedyś zrobiłem projekt przy użyciu Tkintera, chociaż oni opowiadają się za tym, że bardzo się poprawił, nadal daje mi wrażenie systemu Windows 98, więc przeszedłem na Kivy .
Śledzę z samouczka serii , czy to pomaga ...
Aby dać wyobrażenie o tym, jak wygląda kivy, zobacz to (projekt, nad którym pracuję):
Pracuję nad tym już od tygodnia! Korzyści dla Kivy, o które pytasz? Sprawdź to
Powodem, dla którego zdecydowałem się na to, jest jego wygląd i że można go również używać w urządzeniach mobilnych.
źródło