2008-09-08 10 views
79

Użyłem kilku modułów do tworzenia EXE dla Pythona, ale nie jestem pewien, czy robię to dobrze.Jak mogę utworzyć plik EXE z programu Python?

Jak mam to zrobić i dlaczego? Proszę oprzeć swoje odpowiedzi na osobistych doświadczeniach i podać odniesienia tam, gdzie to konieczne.

+0

Zobacz ten [podobne pytanie] (http://stackoverflow.com/q/1646326/4794). –

+0

Zobacz: [** wykonywalna aplikacja Pythona **] (http://stackoverflow.com/questions/2933/an-executable-python-app) –

+0

Również http://stackoverflow.com/questions/5458048/how- to-make-a-python-script-standalone-wykonywalny-by-uruchomić-bez-zależności – Mohammad

Odpowiedz

68

py2exe jest prawdopodobnie tym, czego potrzebujesz, ale działa tylko w systemie Windows.
PyInstaller działa w systemach Windows i Linux.
Py2app działa na komputerze Mac.

+4

Myślę, że cx_Freeze http://cx-freeze.sourceforge.net/cx_Freeze.html jest lepszą alternatywą (cross platforma) . –

+0

Platypus (tylko Mac) jest również całkiem niezły, jeśli chodzi o tworzenie aplikacji ze skryptów w języku Python. – svth

+3

PyInstaller był idealny, niezwykle prosty i szybki. py2exe nie działałby na pythonie 3.5 i nie dostał wszystkich modułów w .exe –

2

py2exe:

py2exe Python to rozszerzenie pakietu Distutils który konwertuje skrypty Pythona do wykonywalnych programów Windows, w stanie uruchomić bez konieczności instalacji Pythona.

9

Uważam, że ta prezentacja jest bardzo pomocna.

How I Distribute Python applications on Windows - py2exe & InnoSetup

Z witryny:

Istnieje wiele opcji instalacji dla kodu Pythona. Podzielę się tym, co dla mnie działa w systemie Windows, narzędzia linii poleceń do pakowania i usługi przy użyciu py2exe i InnoSetup. Zaprezentuję prosty skrypt budujący , który tworzy pliki binarne systemu Windows i instalator InnoSetup w jednym kroku. W dodatku przejdę do typowych błędów , które pojawią się podczas używania py2exe i wskazówek dotyczących rozwiązywania ich. To jest jedna krótka rozmowa, więc odbędzie się następująca sesja Open Space o numerze , aby udostępnić doświadczenie i pomóc sobie nawzajem rozwiązać problemy z dystrybucją .

3

nie ma na liście freehackers jest gui2exe które mogą być wykorzystane do budowy samodzielnych plików wykonywalnych systemu Windows, aplikacje Linux i Mac OS pakietów aplikacji i wtyczek począwszy od skryptów Pythona.

+0

gui2exe ma pewne problemy, jeśli używasz modułu wxpython w systemie Windows. – TLSK

4

Znane również jako zamrożone pliki binarne, ale nie takie same, jak dane wyjściowe prawdziwego kompilatora - uruchamiają kod bajtowy za pośrednictwem maszyny wirtualnej (PVM). Uruchom to samo, co skompilowany program, tylko większy, ponieważ program jest kompilowany razem z PVM. Py2exe może zamrozić samodzielne programy korzystające z bibliotek wibracyjnych tkinter, PMW, wxPython i PyGTK; programy korzystające z zestawu narzędzi do programowania gier pygame; programy klienckie win32com; i więcej. System Stackless Python to standardowy wariant implementacji CPython, który nie zapisuje stanu na stosie wywołań w języku C. Dzięki temu Python jest łatwiejszy w przenoszeniu do małych architektur stosów, zapewnia wydajne opcje przetwarzania wieloprocesowego i wspiera nowe struktury programistyczne, takie jak coroutines. Inne systemy badawcze, które pracują nad przyszłym rozwojem: Pyrex pracuje nad systemem Cython, projektem Parrot, PyPy pracuje nad całkowitym zastąpieniem PVM i oczywiście założyciel Pythona współpracuje z Google, aby uruchomić Python. 5 razy szybciej niż C z projektem Unladen Swallow. W skrócie, py2exe jest najłatwiejszy, a Cython jest na razie wydajniejszy, dopóki te projekty nie poprawią wirtualnej maszyny Python (PVM) dla plików autonomicznych.

1

Zastosowanie cx_Freeze aby exe program python

Powiązane problemy