wprowadzenie
wykonywanie skryptów Pythona wymaga wielu warunków wstępnych, takich jak zainstalowanie Pythona, zainstalowanie mnóstwa modułów, użycie wiersza poleceń itp. wykonanie pliku .exe
jest bardzo proste.
jeśli chcesz stworzyć prostą aplikację i rozpowszechnić ją wśród wielu użytkowników, napisanie jej jako krótkiego skryptu Pythona nie jest trudne, ale zakłada, że użytkownicy wiedzą, jak uruchomić skrypt i mają już zainstalowanego Pythona na swoim komputerze.
przykłady takie jak ten pokazują, że istnieje uzasadniony powód, aby przekonwertować programy .py
na równoważne programy .exe
w systemie Windows. .exe
oznacza „plik wykonywalny”, który jest również znany jako plik binarny.
najpopularniejszym sposobem osiągnięcia tego celu jest użycie modułu py2exe
. W tym artykule szybko przejrzymy podstawy py2exe
i rozwiążemy niektóre typowe problemy. Aby kontynuować, nie jest potrzebna zaawansowana znajomość Pythona, jednak będziesz musiał użyć systemu Windows.
Konwersja zinterpretowanego kodu językowego do pliku wykonywalnego jest praktyką powszechnie zwaną zamrażaniem.
instalacja py2exe
aby użyć modułu py2exe
, musimy go zainstalować. Zróbmy to z pip
:
$ pip install py2exe
Konwersja skryptu Pythona na.exe
najpierw napiszmy program, który wydrukuje jakiś tekst na konsoli:
import mathprint("Hannibal ante Portas")print(factorial(4))
uruchom następujące polecenia w wierszu poleceń systemu Windows, aby utworzyć katalog (exampDir
), przenieś kod, który już napisaliśmy, do wspomnianego katalogu i na koniec wykonaj go:
$ mkdir exampDir$ move example.py exampDir$ cd exampDir$ py example.py
to powinno wyjść:
Hannibal ante Portas24
zawsze testuj Skrypty przed przekształceniem ich w pliki wykonywalne, aby upewnić się, że jeśli wystąpi błąd, nie jest to spowodowane przez kod źródłowy.
Konfiguracja i konfiguracja
utwórz kolejny plik o nazwie setup.py
w tym samym folderze. Tutaj będziemy przechowywać szczegóły konfiguracji jak chcemy skompilować nasz program. Na razie dodamy kilka linijek kodu:
from distutils.core import setup # Need this to handle modulesimport py2exe import math # We have to import all modules used in our programsetup(console=) # Calls setup function to indicate that we're dealing with a single console application
gdybyśmy mieli do czynienia z aplikacją z GRAFICZNYM interfejsem użytkownika, zamienilibyśmy console
na windows
w ten sposób:
setup(windows=)
teraz otwórz wiersz polecenia jako administrator i przejdź do katalogu, o którym właśnie wspomnieliśmy, i uruchom plik setup.py
:
$ cd exampDir$ python setup.py py2exerunning py2exe*** searching for required modules ****** parsing results ***...
folder dist
jeśli wszystko zostało wykonane poprawnie, powinien powstać podkatalog o nazwie dist
. Wewnątrz niego będzie kilka różnych plików w zależności od programu, a jeden z nich powinien być example.exe
. Aby wykonać go z konsoli Uruchom:
$ example
powitamy Cię naszym łacińskim cytatem, a następnie wartością 4!:
Hannibal ante Portas24
możesz też kliknąć go dwukrotnie i uruchomi się w konsoli.
jeśli chcesz połączyć wszystkie pliki, dodaj bundle_files
i compressed
, a następnie Ustaw zipfile
na None:
from distutils.core import setupimport py2exesetup( options = {'py2exe': {'bundle_files': 1, 'compressed': True}}, console = , zipfile = None,)
i ponownie uruchom polecenia, aby wygenerować .plik exe.
teraz użytkownicy końcowi mogą uruchamiać skrypty bez wiedzy i wymagań wstępnych zainstalowanych na ich lokalnych komputerach.
Rozwiązywanie problemów
błędy podczas konwersji plików .py
do plików .exe
są powszechne, więc wymienimy kilka typowych błędów i rozwiązań.
jak naprawić brakujące DLL-s Po użyciu py2exe
wspólny problem z py2exe brakuje .dll
-s.
DLL oznacza „dynamic-link library” i nie są tam tylko po to, aby robić błędy, obiecuję. Biblioteki DLL zawierają kod, Dane i zasoby, których nasz program może potrzebować podczas wykonywania.
po uruchomieniu .exe
, Jeśli pojawi się błąd systemu, który mówi coś takiego:
The program can't start because something.dll is missing from your computer. Try reinstalling the program to fix this problem.
lub wiersz poleceń mówi:
ImportError: (DLL load failed: The specified module could not be found.)
rozwiązaniem jest znalezienie brakującego .dll
i przeniesienie go do folderu dist. Można to zrobić na dwa sposoby.
- Przeszukaj komputer w poszukiwaniu pliku, a następnie skopiuj go. To będzie działać przez większość czasu.
- Znajdź brakującą
.dll
online i pobierz ją. Staraj się nie pobierać go z jakiejś podejrzanej strony.
jak wygenerować 32/64-bitowe pliki wykonywalne za pomocą py2exe?
aby utworzyć 64-bitowy plik wykonywalny, zainstaluj na swoim urządzeniu 64-bitowego Pythona. To samo dotyczy wersji 32-bitowej.
jak używać py2exe na Linuksie lub Macu
py2exe
nie obsługuje na Linuksie lub Macu, ponieważ ma na celu utworzenie .pliki exe, które są formatem unikalnym dla systemu Windows. Możesz pobrać maszynę wirtualną z systemem Windows zarówno na Macu, jak i Linuksie, użyć Wine lub użyć innego narzędzia, takiego jak Pyinstaller na Linuksie lub py2app na Macu.
podsumowanie
aby ułatwić uruchamianie projektów Pythona na urządzeniach z systemem Windows, musimy wygenerować plik wykonywalny. Możemy używać wielu różnych narzędzi, takich jak Pyinstaller, auto-py-to-exe, cx_freeze i py2exe.
pliki binarne mogą używać DLL-s, więc upewnij się, że dołączasz je do swojego projektu.