Crearea fișierelor executabile din scripturile Python cu py2exe

Introducere

executarea scripturilor Python necesită o mulțime de condiții prealabile, cum ar fi Instalarea Python, instalarea unei multitudini de module, utilizarea liniei de comandă etc. în timp ce executarea unui fișier .exe este foarte simplă.

dacă doriți să creați o aplicație simplă și să o distribuiți multor utilizatori, scrierea acesteia ca un script Python scurt nu este dificilă, dar presupune că utilizatorii știu cum să ruleze scriptul și să aibă Python deja instalat pe mașina lor.

Exemple de acest gen arată că există un motiv valid pentru a converti programele .py în programe echivalente .exe pe Windows. .exe înseamnă „fișier executabil”, care este, de asemenea, cunoscut sub numele de binar.

cel mai popular mod de a realiza acest lucru este prin utilizarea modulului py2exe. În acest articol, vom trece rapid prin elementele de bază ale py2exe și vom depana unele probleme comune. Pentru a urmări de-a lungul, nu este nevoie de cunoștințe avansate Python, cu toate acestea, va trebui să utilizați Windows.

conversia unui cod de limbă interpretat într-un fișier executabil este o practică denumită în mod obișnuit înghețare.

instalarea py2exe

pentru a utiliza modulul py2exe, va trebui să îl instalăm. Să facem acest lucru cu pip:

$ pip install py2exe

conversia script Python la .exe

mai întâi, să scriem un program care va imprima un text în consolă:

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

să executăm următoarele comenzi în linia de comandă Windows pentru a crea un director (exampDir), să mutăm codul pe care l-am scris deja în directorul menționat și, în final, să îl executăm:

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

acest lucru ar trebui să ieșire:

Hannibal ante Portas24

testați întotdeauna scripturile înainte de a le transforma în executabile pentru a vă asigura că, dacă există o eroare, aceasta nu este cauzată de codul sursă.

configurare și configurare

faceți un alt fișier numit setup.py în același folder. Aici vom păstra detalii de configurare despre modul în care dorim să compilăm programul nostru. Vom pune doar câteva linii de cod în ea pentru moment:

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

dacă am avea de-a face cu o aplicație cu o interfață grafică, am înlocui console cu windows ca atare:

setup(windows=)

acum Deschideți promptul de comandă ca administrator și navigați la directorul pe care tocmai l-am menționat și rulați fișierul setup.py :

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

dist folder

dacă totul este făcut corect, acest lucru ar trebui să producă un subdirector numit dist. În interiorul acestuia, vor exista câteva fișiere diferite în funcție de programul dvs., iar unul dintre ele ar trebui să fie example.exe. Pentru ao executa din consola run:

$ example

și veți fi întâmpinați de citatul nostru Latin, urmat de valoarea 4!:

Hannibal ante Portas24

sau puteți face dublu clic pe el și va rula în consolă.

dacă doriți să grupați toate fișierele, adăugați bundle_files și compressed și setați zipfile la nici unul ca așa:

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

și re-rula comenzile pentru a genera .fișier exe.

acum, utilizatorii finali pot rula script-urile fără cunoștințe sau premise instalate pe mașinile lor locale.

depanarea

Erorile la conversia fișierelor .py în fișiere .exe sunt frecvente, așa că vom enumera câteva erori și soluții comune.

cum să remediați DLL-urile lipsă după utilizarea py2exe

o problemă comună cu py2exe lipsește .dll -s.

DLL standuri pentru „dynamic-link library”, și ei nu sunt acolo doar pentru a face bug-uri, promit. DLL-urile conțin cod, date și resurse de care programul nostru ar putea avea nevoie în timpul execuției.

după rularea .exe, dacă primiți o eroare de sistem care spune ceva de genul:

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

sau linia de comandă spune:

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

soluția este să găsiți lipsa .dll și să o treceți în folderul dist. Există două moduri de a face acest lucru.

  1. căutați fișierul pe computer și apoi copiați-l. Acest lucru va funcționa de cele mai multe ori.
  2. găsiți online .dll lipsă și descărcați-l. Încercați să nu-l descărcați de pe un site web umbros.

cum se generează executabile pe 32/64 biți folosind py2exe?

pentru a crea un executabil pe 64 de biți, instalați Python pe 64 de biți pe dispozitiv. Același lucru este valabil și pentru versiunea pe 32 de biți.

cum se utilizează py2exe pe Linux sau Mac

py2exe nu acceptă pe Linux sau Mac, deoarece are ca scop crearea .fișiere exe, care este un format unic pentru Windows. Puteți descărca o mașină virtuală Windows atât pe Mac, cât și pe Linux, puteți utiliza Wine sau puteți utiliza un instrument diferit, cum ar fi Pyinstaller pe Linux sau py2app pe Mac.

concluzie

pentru a face proiectele Python mai ușor de rulat pe dispozitivele Windows, trebuie să generăm un fișier executabil. Putem folosi multe instrumente diferite, cum ar fi Pyinstaller, auto-py-to-exe, cx_freeze și py2exe.

fișierele binare pot utiliza DLL-uri, deci asigurați-vă că le includeți în proiectul dvs.

Lasă un răspuns

Adresa ta de email nu va fi publicată.

More: