Oprettelse af eksekverbare filer fra Python-Scripts med py2ekse

introduktion

udførelse af Python-scripts kræver mange forudsætninger som at have Python installeret, have en overflod af moduler installeret, bruge kommandolinjen osv. under udførelsen af en .exe fil er meget ligetil.

hvis du vil oprette et simpelt program og distribuere det til mange brugere, er det ikke svært at skrive det som et kort Python-script, men antager, at brugerne ved, hvordan man kører scriptet og har Python allerede installeret på deres maskine.

eksempler som dette viser, at der er en gyldig grund til at konvertere .py programmer til tilsvarende .exe programmer på vinduer. .exe står for “eksekverbar fil”, som også er kendt som en binær.

den mest populære måde at opnå dette på er ved at bruge py2exe modulet. I denne artikel gennemgår vi hurtigt det grundlæggende i py2exe og fejlfinder nogle almindelige problemer. For at følge med er der ikke behov for avanceret Python-viden, men du bliver nødt til at bruge vinduer.

konvertering af en fortolket sprogkode til en eksekverbar fil er en praksis, der almindeligvis kaldes frysning.

installation af py2ekse

for at bruge py2exe modulet skal vi installere det. Lad os gøre det med pip:

$ pip install py2exe

konvertering Python Script til .eks

lad os først skrive et program, der skal udskrive noget tekst til konsollen:

import mathprint("Hannibal ante Portas")print(factorial(4))

lad os køre følgende kommandoer i kommandolinjen vinduer for at oprette en mappe (exampDir), flytte den kode, vi allerede skrev til nævnte mappe, og til sidst udføre den:

$ mkdir exampDir$ move example.py exampDir$ cd exampDir$ py example.py

dette skal output:

Hannibal ante Portas24

test altid scripts, før du gør dem til eksekverbare filer for at sikre, at hvis der er en fejl, er det ikke forårsaget af kildekoden.

Opsætning og konfiguration

lav en anden fil kaldet setup.py i samme mappe. Her holder vi konfigurationsoplysninger om, hvordan vi vil kompilere vores program. Vi sætter bare et par linjer kode ind i det for 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

hvis vi havde at gøre med en app med en grafisk brugergrænseflade, ville vi erstatte console med windows som sådan:

setup(windows=)

åbn nu Kommandoprompt som administrator og naviger til den mappe, vi lige har nævnt, og kør setup.py filen:

$ cd exampDir$ python setup.py py2exerunning py2exe*** searching for required modules ****** parsing results ***...

dist folder

hvis alt er gjort korrekt, skal dette producere en undermappe kaldet dist. Inde i det vil der være et par forskellige filer afhængigt af dit program, og en af dem skal være example.exe. For at udføre det fra konsollen køre:

$ example

og du vil blive mødt af vores latinske citat, efterfulgt af værdien af 4!:

Hannibal ante Portas24

eller du kan dobbeltklikke på den, og den kører i konsollen.

hvis du vil samle alle filerne, skal du tilføje bundle_files og compressed og indstille zipfile til ingen som sådan:

from distutils.core import setupimport py2exesetup( options = {'py2exe': {'bundle_files': 1, 'compressed': True}}, console = , zipfile = None,)

og re-køre kommandoer til at generere .eks fil.

nu kan dine slutbrugere køre dine scripts uden nogen viden eller forudsætninger installeret på deres lokale maskiner.

fejlfinding

fejl under konvertering .py filer til .exe filer er almindelige, så vi viser nogle almindelige fejl og løsninger.

Sådan repareres manglende DLL-s efter brug af py2ekse

et almindeligt problem med py2ekse mangler .dll -s.

DLL står for “dynamic-link library”, og de er ikke der bare for at lave fejl, løfte. DLL ‘ er indeholder kode, data og ressourcer, som vores program muligvis har brug for under udførelsen.

efter at have kørt .exe, hvis du får en systemfejl, der siger noget som:

The program can't start because something.dll is missing from your computer. Try reinstalling the program to fix this problem. 

eller kommandolinjen siger:

ImportError: (DLL load failed: The specified module could not be found.)

løsningen er at finde den manglende .dll og forbi den i din dist-mappe. Der er to måder at gøre dette på.

  1. Søg på din computer efter filen, og kopier den derefter. Dette vil arbejde det meste af tiden.
  2. Find den manglende .dll online og hent den. Prøv ikke at hente det fra nogle lyssky hjemmeside.

Sådan genereres 32/64-bit eksekverbare filer ved hjælp af py2ekse?

for at lave en 64-bit eksekverbar skal du installere 64 bit Python på din enhed. Det samme gælder for 32-bit versionen.

Sådan bruges py2ekse på Mac

py2exe understøtter ikke på Mac, da det har til formål at oprette .et vindue-unikt format. Du kan hente en virtuel maskine på både Mac og Mac, bruge vin eller bruge et andet værktøj som Pyinstaller på Mac eller py2app på Mac.

konklusion

for at gøre Python-projekter lettere at køre på enheder, skal vi generere en eksekverbar fil. Vi kan bruge mange forskellige værktøjer, som f.eks.

binære filer kan bruge DLL-s, så sørg for at medtage dem med dit projekt.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.

More: