Is het mogelijk om een ​​programma in Python te compileren?

Ik ben nieuw voor de Python-programmeertaal. Ik vroeg me af of het mogelijk is om een ​​programma te compileren om in Python te geschreven.

Is het mogelijk om Python-scripts om te zetten naar een aantal programmeertalen met een lager niveau die vervolgens kunnen worden opgesteld tot binaire code?

Een ontwikkelaar die in overweging is voor de code in Python, zou de mogelijkheid open kunnen houden om later voor binaire distributie te kunnen gaan.


Antwoord 1, Autoriteit 100%

Ik denk Compiling Python Code zou een goede plek zijn om te beginnen:

Python broncode is automatisch
gecompileerd in Python byte-code door de
Cpython-interpreter. Gecompileerde code is
meestal opgeslagen in PYC (of PYO) -bestanden,
en wordt geregenereerd wanneer de bron is
bijgewerkt, of wanneer anders nodig is.

Een programma distribueren voor mensen die
Heb al Python geïnstalleerd, dat kan
schip de PY-bestanden of de PYC
bestanden. In recente versies kun je
Creëer ook een ZIP-archief met
PY- of PYC-bestanden en gebruik een kleine
“Bootstrap-script” om die rits toe te voegen
archief op het pad.

Een Python-programma “compileren” in een Python-programma
Uitvoerbaar, gebruik een bundelgereedschap, zoals
Als het installatieprogramma van Gordon McMillan
(alternatieve download)
(cross-platform), Thomas Heller’s
Py2exe (Windows), Anthony Tuininga’s
cx_freeze (cross-platform) of Bob
IPPOLITO’s PY2APP (MAC). Deze hulpmiddelen
Zet uw modules en gegevensbestanden in
een soort archiefbestand en creëert
een uitvoerbaar bestand dat automatisch instelt
dingen omhoog, zodat modules worden geïmporteerd
uit dat archief. Sommige gereedschappen kunnen
Breng het archief in het uitvoerbare bestand in
zelf.


Antwoord 2, Autoriteit 58%

Als je echt wilt, kun je altijd compileren met Cython. Dit genereert C-code, die u vervolgens kunt compileren met elke C-compiler zoals GCC.


Antwoord 3, autoriteit 48%

Python, als dynamische taal, kan niet statisch in machinecode worden “gecompileerd”, zoals C of COBOL dat wel kan. Je hebt altijd een tolk nodig om de code uit te voeren, wat per definitie in de taal een dynamische operatie is.

Je kunt de broncode “vertalen” in bytecode, wat slechts een tussenproces is dat de tolk doet om het laden van de code te versnellen. Het converteert tekstbestanden, met opmerkingen, lege spaties, woorden als ‘if’, ‘ def’, ‘in’, enz. in binaire code, maar de bewerkingen erachter zijn precies hetzelfde, in Python, niet in machinecode of een andere taal. Dit is wat het wordt opgeslagen in .pyc-bestanden en het is ook overdraagbaar tussen architecturen.

Waarschijnlijk is wat je nodig hebt niet het “compileren” van de code (wat niet mogelijk is), maar het “embedden” van een interpreter (in de juiste architectuur) met de code zodat de code kan worden uitgevoerd zonder een externe installatie van de interpreter. Om dat te doen, kun je al die tools gebruiken, zoals py2exe of cx_Freeze.

Misschien ben ik hierin een beetje pedant 😛


Antwoord 4, autoriteit 22%

Je hoeft het niet te compileren. de eerste keer dat je het gebruikt (importeren) wordt het gecompileerd door de CPython-interpreter. Maar als je echt wilt compileren zijn er verschillende opties.

Om te compileren naar exe

Of 2 compileer alleen een specifiek *.py-bestand, je kunt gewoon

. gebruiken

import py_compile
py_compile.compile("yourpythoncode.py")

Antwoord 5, Autoriteit 8%

Vermijd redundantie Ik herhaal mijn antwoord hier niet opnieuw.

Raadpleeg mijn antwoord hier . (Merk op dat het beantwoorden alleen betrekking heeft op het compileren van Python Bytecode .)


Antwoord 6, Autoriteit 6%

Python is een geïnterpreteerde taal, dus je hoeft je scripts niet te compileren om ze te laten rennen. De eenvoudigste manier om één hardloop te krijgen is om naar zijn map in een terminal te navigeren en “Python SomeFile.py” uit te voeren. Dit is afhankelijk van je dat Python is geïnstalleerd van de python site.

U kunt Python-apps compileren, maar dat is over het algemeen niet iets dat een nieuwe ontwikkelaar in eerste instantie moet doen. Als dat is wat u zoekt, neem dan een kijkje op py2exe . Hiermee neemt u uw Python-script op en pakt u deze op als een uitvoerbaar bestand zoals elk programma op uw op Windows gevestigde computer. U kunt ook individuele bestanden compileren met Python, zoals beschreven in de “Compiling Python-modules tot bytecode” op deze site.


Antwoord 7

Python compileren op de vlucht wanneer je het uitvoert.

Voer een .py-bestand uit door (Linux): Python ABC.PY

Other episodes