< Python

Python program telepítő

Szerző: Sallai András

Copyright © Sallai András, 2020

Licenc: CC Attribution-Share Alike 4.0 International

Web: https://szit.hu

Telepítő

A felhasználók általában nem értenek parancssorhoz, mi is szeretnénk, ha egy egyszerű telepítő vagy másolás megoldaná a programunk használatbavételét.

A telepítőkészítést két lépésben fogjuk megoldani.

Egyetlen csomagba szervezés

Telepítő készítése

Először egyetlen csomagba szervezzük a programot, úgy, hogy Python futtató se kelljen hozzá. Ezt a PyInstaller modullal fogjuk elvégezni.

Telepítőt, amely indítómenübe, vagy asztalra kitesz egy indító ikont, az Inno Setup segítségével fogjuk elvégezni.

PyInstaller

Telepítsük a pyinstaller-t:

pip install pyinstaller

vagy:

pip3 install pyinstaller

A legegyszerűbb eset, ha van egy futtatható Python program:

programom.py

pyinstaller programom.py

Létrejön egy dist nevű könyvtár, amelyben megtaláljuk a futtatható programot.

Ha egyetlen fájlban szeretnénk az egész programot:

pyinstaller --onefile programom.py

Ha program több fájlra van szétszedve, esetleg több könytárra, akkor is, csak az indító fájlt kell megjelölni a parancsban.

projekt01/
|-controllers/
| `-Controller.py
|-views/
| `-MainWindow.py
`-App.py

pyinstaller --onefile App.py

Konzol nélkül

Ha konzolos ablak nélkül szeretnénk indítani a Python programot, például grafikus felület esetén:

pyinstaller --onefile --windowed programom.py

Vagy:

pyinstaller --onefile --noconsole programom.py

Linuxon Windowsra

https://github.com/cdrx/docker-pyinstaller

Inno Setup

Készítsük el az Inno Setup konfigurációs állományt:

[Setup] AppName=Programnev AppVersion=1.0 DefaultDirName={autopf}\Programnev OutputBaseFilename=ProgramnevSetup LicenseFile=licenc.txt [Files] Source: program.exe; DestDir: "{app}"

LicenseFile

A licenc fájl neve és elérési útvonala

A fájl kódolása iso-8859-2 legyen

Windowson ezt lehet az Inno Setup varázslójával, vagy egy szövegszerkesztővel.

Ezt követően Windowson Inno Setup-al fordítsuk le a az elkészült konfigurációs fájl.

Linuxon, használhatjuk mondjuk egy docker konténert a fordításhoz:

docker run --rm -i -v "$PWD:/work" amake/innosetup program.iss

Fordítás

Minden is

#define MyAppName "Első" #define MyAppExeName "elso.exe" [Setup] AppName=elso AppVersion=1.0 DefaultDirName={autopf}\Elso OutputBaseFilename=ElsoSetup LicenseFile=licenc.txt InfoBeforeFile=olvasd.txt DefaultGroupName={#MyAppName} [Files] Source: dist\elso.exe; DestDir: "{app}" [Tasks] ; Asztali ikon Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked [Run] ; Telepítés után futtatás Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent [Icons] ; Startmenü Name: "{group}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}" Name: "{commondesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon

Lásd még

https://pyinstaller.readthedocs.io/en/stable/index.html (2020)

https://winpython.github.io/ (2020)

https://pypi.org/project/setuptools/ (2020)

https://www.pythonforthelab.com/blog/how-create-setup-file-your-project/ (2020)