Tworzenie plików wykonywalnych ze skryptów Pythona za pomocą py2exe

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.

  1. Przeszukaj komputer w poszukiwaniu pliku, a następnie skopiuj go. To będzie działać przez większość czasu.
  2. 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.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.

More: