Úvod
Spouštění Python skriptů vyžaduje hodně předpoklady jako mít Python nainstalovaný, mají nepřeberné množství nainstalované moduly, pomocí příkazového řádku, atd. při provádění souboru .exe
je velmi jednoduché.
Pokud chcete vytvořit jednoduchou aplikaci a distribuovat ji spousta uživatelů, psaní je krátký skript v Pythonu, není těžké, ale předpokládá se, že uživatelé vědí, jak spustit script a Python je již nainstalován na svém počítači.
příklady, jako je tento, ukazují, že existuje platný důvod převést programy .py
na ekvivalentní programy .exe
v systému Windows. .exe
znamená „spustitelný soubor“, který je také známý jako binární.
nejoblíbenějším způsobem, jak toho dosáhnout, je použití modulu py2exe
. V tomto článku rychle projdeme základy py2exe
a vyřešíme některé běžné problémy. Chcete-li sledovat, nejsou potřeba žádné pokročilé znalosti Pythonu, budete však muset použít Windows.
převod interpretovaného jazykového kódu na spustitelný soubor je praxe běžně nazývaná zmrazení.
instalace py2exe
Chcete-li použít modul py2exe
, musíme jej nainstalovat. Udělejme to s pip
:
$ pip install py2exe
převod skriptu Python na .exe
za Prvé, pojďme napsat program, který bude tisknout text do konzole:
import mathprint("Hannibal ante Portas")print(factorial(4))
Pojďme spusťte následující příkazy v systému Windows příkazového řádku, aby se adresář (exampDir
), přesunout kód, který jsme již psal, řekl, adresář, a konečně, spustit jej:
$ mkdir exampDir$ move example.py exampDir$ cd exampDir$ py example.py
To by mělo výstup:
Hannibal ante Portas24
vždy vyzkoušejte skripty, než je změníte na spustitelné soubory, abyste se ujistili, že pokud dojde k chybě, není způsobena zdrojovým kódem.
nastavení a konfigurace
vytvořte další soubor s názvem setup.py
ve stejné složce. Zde budeme uchovávat podrobnosti o konfiguraci, jak chceme sestavit náš program. Prozatím do něj vložíme pár řádků kódu:
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
pokud bychom se zabývali aplikací s grafickým uživatelským rozhraním, nahradili bychom console
windows
takto:
setup(windows=)
Nyní otevřete Příkazový Řádek jako správce a přejděte do adresáře, který jsme právě zmínili a spustit setup.py
soubor:
$ cd exampDir$ python setup.py py2exerunning py2exe*** searching for required modules ****** parsing results ***...
dist složce
Pokud je vše provedeno správně, to by mělo vytvořit podadresář s názvem dist
. Uvnitř bude několik různých souborů v závislosti na vašem programu a jeden z nich by měl být example.exe
. Chcete-li jej spustit z konzoly Spustit:
$ example
a uvítá vás náš latinský citát, následovaný hodnotou 4!:
Hannibal ante Portas24
nebo na něj můžete dvakrát kliknout a poběží v konzole.
pokud chcete sbalit všechny soubory, přidejte bundle_files
a compressed
a nastavte zipfile
na žádné:
from distutils.core import setupimport py2exesetup( options = {'py2exe': {'bundle_files': 1, 'compressed': True}}, console = , zipfile = None,)
a znovu spustit příkazy pro generování .exe soubor.
nyní mohou vaši koncoví uživatelé spouštět vaše skripty bez jakýchkoli znalostí nebo předpokladů nainstalovaných na místních počítačích.
odstraňování problémů
chyby při převodu souborů .py
na soubory .exe
jsou běžné, takže uvedeme některé běžné chyby a řešení.
Jak Opravit Chybějící DLL-s Po Použití py2exe
společný problém s py2exe chybí .dll
-s.
DLL je zkratka pro „dynamic-link library“, a nejsou tam jen proto, aby chyby, slib. Dll obsahují kód, data a zdroje, které náš program může potřebovat během provádění.
Po spuštění .exe
, pokud se dostanete systémová chyba, která říká něco jako:
The program can't start because something.dll is missing from your computer. Try reinstalling the program to fix this problem.
Nebo příkazový řádek říká:
ImportError: (DLL load failed: The specified module could not be found.)
řešením je najít chybějící .dll
a přes to do dist složku. Existují dva způsoby, jak to udělat.
- vyhledejte soubor v počítači a poté jej zkopírujte. To bude fungovat většinu času.
- najděte chybějící
.dll
online a stáhněte si ji. Snažte se jej stáhnout z nějakého stinného webu.
jak generovat 32/64-bit spustitelné soubory pomocí py2exe?
Chcete-li vytvořit 64bitový spustitelný soubor, nainstalujte do zařízení 64bitový Python. Totéž platí pro 32bitovou verzi.
jak používat py2exe na Linuxu nebo Macu
py2exe
nepodporuje Linux nebo Mac, protože je zaměřen na vytvoření .exe soubory, což je formát jedinečný pro Windows. Virtuální počítač Windows si můžete stáhnout na počítačích Mac i Linux, použít víno nebo použít jiný nástroj, jako je Pyinstaller v systému Linux nebo py2app v systému Mac.
závěr
abychom usnadnili spouštění projektů Pythonu na zařízeních Windows, musíme vygenerovat spustitelný soubor. Můžeme použít mnoho různých nástrojů, jako Pyinstaller, auto-py-to-exe, cx_Freeze a py2exe.
binární soubory mohou používat DLL-s, takže je nezapomeňte zahrnout do projektu.