Inleiding
het uitvoeren van Python scripts vereist veel vereisten zoals het installeren van Python, het installeren van een overvloed aan modules, het gebruik van de opdrachtregel, enz. tijdens het uitvoeren van een .exe
bestand is zeer eenvoudig.
als u een eenvoudige toepassing wilt maken en distribueren naar veel gebruikers, is het schrijven als een kort Python script niet moeilijk, maar gaat ervan uit dat de gebruikers weten hoe ze het script moeten draaien en Python al op hun machine geïnstalleerd hebben.,
voorbeelden zoals deze laten zien dat er een geldige reden is om .py
programma ‘ s te converteren naar gelijkwaardige .exe
programma ‘ s op Windows. .exe
staat voor” Executable File”, wat ook bekend staat als een binair bestand.
de meest populaire manier om dit te bereiken is door gebruik te maken van de py2exe
module. In dit artikel zullen we snel de basisprincipes van py2exe
doornemen en enkele veelvoorkomende problemen oplossen. Om mee te volgen, is geen geavanceerde Python kennis nodig, maar je zult Windows moeten gebruiken.,
het omzetten van een geà nterpreteerde taalcode naar een uitvoerbaar bestand is een praktijk die vaak bevriezing wordt genoemd.
py2exe installeren
om de py2exe
module te gebruiken, moeten we deze installeren. Laten we dit doen met pip
:
$ pip install py2exe
converteren Python Script naar .,exe
ten Eerste, laten we het schrijven van een een programma dat gaat om enkele te laten drukken tekst op de console:
import mathprint("Hannibal ante Portas")print(factorial(4))
Laten we de volgende opdrachten uitvoeren in de Windows commandoregel te maken van een directory (exampDir
), verplaats je de code die we al schreef, zei directory, en ten slotte, uit te voeren:
$ mkdir exampDir$ move example.py exampDir$ cd exampDir$ py example.py
Dit moet output:
Hannibal ante Portas24
test Altijd uit de scripts voor te zetten naar uitvoerbare bestanden om ervoor te zorgen dat als er een fout is, het is niet veroorzaakt door de bron code.,
Instellingen
Maak een ander bestand met de naam setup.py
in dezelfde map. Hier bewaren we configuratiegegevens over hoe we ons programma willen compileren., We zetten er een paar regels code in het voor nu:
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
Als we te maken hadden met een app met een grafische GEBRUIKERSINTERFACE, zouden we vervang console
met windows
zoals zo:
setup(windows=)
open een Opdrachtprompt als administrator en ga naar de map die we zojuist genoemde en uitvoeren van het setup.py
bestand:
$ cd exampDir$ python setup.py py2exerunning py2exe*** searching for required modules ****** parsing results ***...
dist-map
Als alles goed is gedaan, dit moet leiden tot een submap met de naam dist
., Er zitten een paar verschillende bestanden in, afhankelijk van je programma, en een daarvan zou example.exe
moeten zijn. Om het uit te voeren vanaf de console voer je uit:
$ example
en je wordt begroet door onze Latijnse quote, gevolgd door de waarde van 4!:
Hannibal ante Portas24
of u kunt er dubbel op klikken en het zal in de console draaien.
Als u alle bestanden wilt bundelen, voeg dan bundle_files
en compressed
, en stel zipfile
in op None zoals dit:
en voer de commando ‘ s opnieuw uit om de te genereren .exe file.,
nu kunnen uw eindgebruikers uw scripts uitvoeren zonder enige kennis of vereisten geïnstalleerd op hun lokale machines.
problemen oplossen
fouten tijdens het converteren van .py
bestanden naar .exe
bestanden zijn gebruikelijk, dus we zullen enkele veel voorkomende bugs en oplossingen tonen.
ontbrekende DLL-s repareren na gebruik van py2exe
een veelvoorkomend probleem met py2exe ontbreekt .dll
-s.
DLL staat voor” dynamic-link library”, en ze zijn er niet alleen om bugs te maken, promise., Dll ‘ s bevatten code, gegevens en bronnen die ons programma nodig zou kunnen hebben tijdens de uitvoering.
na het uitvoeren van de .exe
, Als u een systeemfout krijgt die iets zegt als:
The program can't start because something.dll is missing from your computer. Try reinstalling the program to fix this problem.
of de opdrachtregel zegt:
ImportError: (DLL load failed: The specified module could not be found.)
De oplossing is om de ontbrekende .dll
en plaats deze in uw dist map. Er zijn twee manieren om dit te doen.
- Zoek op uw computer naar het bestand en kopieer het vervolgens. Dit zal meestal werken.,
- Zoek de ontbrekende
.dll
online en download het. Probeer het niet te downloaden van een of andere schaduwrijke website.
hoe 32/64-bit uitvoerbare bestanden te genereren met py2exe?
om een 64-bits uitvoerbaar bestand te maken, installeert u 64-bits Python op uw apparaat. Hetzelfde geldt voor de 32-bits versie.
py2exe gebruiken op Linux of Mac
py2exe
ondersteunt niet op Linux of Mac, omdat het bedoeld is om te maken .exe-bestanden die een Windows-uniek formaat., U kunt een Windows virtuele machine te downloaden op zowel Mac en Linux, gebruik maken van wijn of gebruik maken van een andere tool zoals Pyinstaller op Linux, of py2app op Mac.
conclusie
om Python-projecten gemakkelijker te laten draaien op Windows-apparaten, moeten we een uitvoerbaar bestand genereren. We kunnen veel verschillende tools gebruiken, zoals Pyinstaller, auto-py-to-exe, cx_Freeze en py2exe.
binaire bestanden kunnen DLL-s gebruiken, dus zorg ervoor dat je ze bij je project opneemt.