Johdanto
Python-skriptien suorittaminen vaatii paljon edellytyksiä, kuten Pythonin asentamista, moduulien runsasta asentamista, komentorivin käyttöä jne. .exe
– tiedoston suorittaminen on hyvin yksinkertaista.
jos haluat luoda yksinkertaisen sovelluksen ja jakaa sen useille käyttäjille, sen kirjoittaminen lyhyeksi Python-skriptiksi ei ole vaikeaa, mutta oletetaan, että käyttäjät osaavat käyttää komentosarjaa ja että Python on jo asennettu koneelleen.
tämänkaltaiset esimerkit osoittavat, että on olemassa pätevä syy muuttaa .py
ohjelmia vastaaviksi .exe
ohjelmiksi Windowsissa. .exe
tulee sanoista ”Executable File”, joka tunnetaan myös Binäärinä.
suosituin tapa tähän on py2exe
– moduulin käyttäminen. Tässä artikkelissa käymme nopeasti läpi py2exe
perusasiat ja vianmääritykset. Voit seurata mukana, mitään edistynyttä Python-tietoa ei tarvita, mutta sinun täytyy käyttää Windowsia.
tulkatun kielikoodin muuntaminen suoritettavaksi tiedostoksi on käytäntö, jota yleisesti kutsutaan jäädyttämiseksi.
Py2exen asentaminen
py2exe
moduulin käyttöön on tarpeen. Tehdään niin pip
:
$ pip install py2exe
muunnetaan Python-Skriptiksi .exe
kirjoitetaan ensin a-ohjelma, joka tulostaa konsolille tekstiä:
import mathprint("Hannibal ante Portas")print(factorial(4))
ajetaan seuraavat komennot Windowsin komentoriviltä hakemiston tekemiseksi (exampDir
), siirretään jo kirjoittamamme koodi mainittuun hakemistoon ja lopuksi suoritetaan se:
$ mkdir exampDir$ move example.py exampDir$ cd exampDir$ py example.py
tämän pitäisi tulostua:
Hannibal ante Portas24
testaa skriptit aina ennen kuin muutat ne suoritettaviksi varmistaaksesi, että jos on virhe, se ei johdu lähdekoodista.
Setup and Configuration
tee samaan kansioon toinen setup.py
– niminen tiedosto. Tässä säilytämme asetustiedot siitä, miten haluamme koota ohjelmamme. Laitamme siihen pari riviä koodia toistaiseksi.:
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
jos kyseessä olisi graafisella käyttöliittymällä varustettu sovellus, korvaisimme console
windows
näin:
setup(windows=)
avaa nyt komentorivi järjestelmänvalvojana ja siirry juuri mainittuun hakemistoon ja suorita setup.py
– tiedosto:
$ cd exampDir$ python setup.py py2exerunning py2exe*** searching for required modules ****** parsing results ***...
dist-kansio
jos kaikki on tehty oikein, tästä tulee tuottaa alihakemisto dist
. Sen sisällä on ohjelmasta riippuen muutama eri tiedosto, joista yhden pitäisi olla example.exe
. Voit suorittaa sen konsolin ajosta:
$ example
ja sinua tervehtii meidän Latinalainen lainaus, jota seuraa arvo 4!:
Hannibal ante Portas24
tai, voit kaksoisnapsauttaa sitä ja se toimii konsolissa.
jos haluat niputtaa kaikki tiedostot, lisää bundle_files
ja compressed
ja aseta zipfile
Ei mitään näin:
from distutils.core import setupimport py2exesetup( options = {'py2exe': {'bundle_files': 1, 'compressed': True}}, console = , zipfile = None,)
ja uudelleen ajaa komentoja luoda .exe-tiedosto.
nyt loppukäyttäjäsi voivat suorittaa skriptejäsi ilman paikallisiin koneisiinsa asennettuja tietoja tai edellytyksiä.
vianmääritys
virheet muunnettaessa .py
tiedostoja .exe
tiedostoiksi ovat yleisiä, joten listaamme joitakin yleisiä vikoja ja ratkaisuja.
miten korjata puuttuva DLL-s käytön jälkeen py2exe
yleinen ongelma py2exe puuttuu .dll
– s.
DLL tulee sanoista ”dynamic-link library”, eivätkä he ole siellä vain tekemässä bugeja, lupaavat. DLL sisältää koodia, dataa ja resursseja, joita ohjelmamme saattaa tarvita suorituksen aikana.
ajettuasi .exe
, jos saat järjestelmävirheen, joka kertoo jotain:
The program can't start because something.dll is missing from your computer. Try reinstalling the program to fix this problem.
tai komentorivi sanoo::
ImportError: (DLL load failed: The specified module could not be found.)
ratkaisu on löytää puuttuva .dll
ja ohittaa se dist-kansioosi. On kaksi tapaa tehdä tämä.
- Etsi tiedosto tietokoneeltasi ja kopioi se. Tämä toimii suurimman osan ajasta.
- Etsi kadonnut
.dll
netistä ja lataa se. Yritä olla lataamatta sitä joltain hämärältä sivustolta.
Kuinka luoda 32/64-bittisiä suoritustiedostoja py2exen avulla?
tehdäksesi 64-bittisen suoritustiedoston, asenna laitteellesi 64-bittinen Python. Sama koskee 32-bittistä versiota.
miten py2exeä käytetään Linuxissa tai Macissa
py2exe
ei tue Linuxissa tai Macissa, koska sen tarkoituksena on luoda .exe tiedostot, joka on Windows-ainutlaatuinen muoto. Voit ladata Windows-virtuaalikoneen sekä Macissa että Linuxissa, käyttää viiniä tai käyttää eri työkalua, kuten Pyinstalleria Linuxissa tai py2app Macissa.
Conclusion
jotta Python-projekteja olisi helpompi ajaa Windows-laitteilla, on luotava suoritettava tiedosto. Voimme käyttää monia erilaisia työkaluja, kuten Pyinstaller, auto-py-to-exe, cx_Freeze, ja py2exe.
binääritiedostot voivat käyttää DLL-s: ää, joten muista sisällyttää ne projektiisi.