Använda PyInstaller för att enkelt distribuera Python-applikationer

Vad används PyInstaller till?

PyInstaller läser ett Python-skript skrivet av dig. Den analyserar din kod för att upptäcka alla andra moduler och bibliotek som ditt skript behöver för att kunna köras. Sedan samlar den in kopior av alla dessa filer – inklusive den aktiva Python-tolken!

Varför använda Pyinstaller för att paketera Python?

PyInstaller används för att paketera Python-kod till fristående körbara applikationer för olika operativsystem. Det tar ett Python-skript och genererar en enda körbar fil som innehåller alla nödvändiga beroenden och kan köras på datorer som inte har Python installerat. Detta möjliggör enkel distribution och distribution av Python-applikationer, eftersom användaren inte behöver ha Python och eventuella nödvändiga moduler installerade på sitt system för att köra applikationen. Dessutom kan PyInstaller också användas för att skapa körbara filer med en fil, som är enstaka körbara filer som innehåller alla nödvändiga beroenden för applikationen. Detta kan göra det ännu enklare att distribuera applikationen, eftersom användaren bara behöver ladda ner en enda fil.

Hur man installerar PyInstaller

PyInstaller är tillgängligt som ett vanligt Python-paket. Källarkiven för släppta versioner är tillgängliga frånPyPi , men det är lättare att installera den senaste versionen medpip:

C:\> pip install pyinstaller

För att uppgradera befintlig PyInstaller-installation till den senaste versionen, använd:

C:\> pip install --upgrade pyinstaller
För att installera den aktuella utvecklingsversionen, använd:
C:\> pip install https://github.com/pyinstaller/pyinstaller/tarball/

Hur skapar jag en EXE med PyInstaller

Vi kommer att ta en enda python-fil som ett exempel för att förklara paketeringsstegen i detalj. Ta Python 3.11.0 som ett exempel efter installationenaspose.cells.

  1. Skapa en python-exempelfil med namnetexempel.py.
    import os
    from jpype import *
    
    __cells_jar_dir__ = os.path.dirname(__file__)
    addClassPath(os.path.join(__cells_jar_dir__, "aspose-cells-23.1.jar"))
    addClassPath(os.path.join(__cells_jar_dir__, "bcprov-jdk15on-160.jar"))
    addClassPath(os.path.join(__cells_jar_dir__, "bcpkix-jdk15on-1.60.jar"))
    addClassPath(os.path.join(__cells_jar_dir__, "JavaClassBridge.jar"))
    
    import jpype
    import asposecells
    jpype.startJVM()
    from asposecells.api import Workbook, FileFormatType, CellsHelper
    
    print(CellsHelper.getVersion())
    workbook = Workbook(FileFormatType.XLSX)
    workbook.getWorksheets().get(0).getCells().get("A1").putValue("Hello World")
    workbook.save("output.xlsx")
    
    jpype.shutdownJVM()
  2. Skapa en mapp som c:\app och kopiera example.py(bifogat) till c:\app.
  3. Öppna kommandotolken och kör kommandot pyinstaller example.py.
    C:\app> pyinstaller example.py
  4. Kopiera jars(aspose-cells-xxx.jar, bcprov-jdk15on-160.jar, bcpkix-jdk15on-1.60.jar, JavaClassBridge.jar. De finns i mappen C:\Python311\Lib\site-packages\asposecells\lib ) till c:\app.
  5. Redigera filen med spec-suffixet för att lägga till datasektion somexempel.spec. todo:image_alt_text
  6. Kör pyinstaller example.spec i kommandotolksfönstret.
    C:\app> pyinstaller example.spec
  7. Byt katalogen till C:\app\dist\example så hittar du filen example.exe.