Hvorfor konvertere PYC til EXE?
Hovedårsagen til at oprette en .exe er distribution: en pakket eksekverbar fil kører på Windows uden at have Python installeret, hvilket fjerner kravet om opsætning for slutbrugere eller maskiner, du ikke kontrollerer. En .pyc er bytecode, der afhænger af Python-fortolkeren ved kørsel og kan ikke køre som en selvstændig eksekverbar fil.
Sådan konverterer du PYC til EXE
PyInstaller FREE
Installer med pip install pyinstaller, kør pyinstaller --onefile din_script.py, og find den resulterende .exe i mappen dist/. Brug --noconsole til GUI-apps og --icon=app.ico for at indstille et brugerdefineret ikon.
cx_Freeze FREE
Installer med pip install cx_Freeze, opret en setup.py med dit script som en Executable, og kør python setup.py build; outputtet vises i en build/-mappe, som skal distribueres som en helhed.
Om disse formater
En .pyc-fil er kompileret Python bytecode, som CPython gemmer automatisk for at fremskynde opstart. Du behøver normalt ikke at åbne eller røre den. For at køre en skal du bruge den…
Åbn .PYC detaljer →En EXE-fil er et Windows-program. På Windows skal du dobbeltklikke på den for at køre den. På Mac eller Linux skal du bruge CrossOver eller Wine - EXE-filer kører ikke indfødt uden for…
Åbn .EXE detaljer →Kvalitet & hvad man skal være opmærksom på
- Du skal bruge
.py-kildefilerne, ikke kun.pyc; hvis du kun har en.pyc, skal du dekompilere den først, velvidende at dekompilering er ufuldstændig for Python 3.9 og nyere. - Den producerede
.exeer platformsspecifik - bygning på Windows opretter en Windows-eksekverbar fil, og du kan ikke krydskompilere til et andet operativsystem. - Test din
.exepå en ren maskine uden Python installeret for at bekræfte, at alle imports og afhængigheder blev inkluderet korrekt.
Ofte stillede spørgsmål
Hvad er forskellen på PyInstaller og cx_Freeze?
--onefile-tilstand, der producerer en enkelt selvstændig .exe; cx_Freeze producerer altid en mappe med filer, der skal holdes sammen.Kan jeg bygge en .exe direkte fra en .pyc-fil?
.py-kildefiler; hvis du kun har en .pyc, skal du dekompilere den tilbage til .py først.