Python Language
PyInstaller - Distribuera Python-kod
Sök…
Syntax
- pyinstaller [alternativ] script [script ...] | specfile
Anmärkningar
PyInstaller är en modul som används för att paketera python-appar i ett enda paket tillsammans med alla beroenden. Användaren kan sedan köra paketappen utan en python-tolk eller några moduler. Det paketerar korrekt många stora paket som numpy, Django, OpenCv och andra.
Några viktiga punkter att komma ihåg:
- Pyinstaller stöder Python 2.7 och Python 3.3+
- Pyinstaller har testats mot Windows, Linux och Mac OS X.
- Det är INTE tvärkompilator. (En Windows-app kan inte paketeras i Linux. Du måste köra PyInstaller i Windows för att samla en app för Windows)
Installation och installation
Pyinstaller är ett normalt pythonpaket. Det kan installeras med pip:
pip install pyinstaller
Installation i Windows
För Windows är pywin32 eller pypiwin32 en förutsättning. Den senare installeras automatiskt när pyinstaller installeras med pip.
Installation i Mac OS X
PyInstaller fungerar med standard Python 2.7 som levereras med nuvarande Mac OS X. Om senare versioner av Python ska användas eller om några större paket som PyQT, Numpy, Matplotlib och liknande ska användas rekommenderas att installera dem med antingen MacPorts eller Homebrew .
Installera från arkivet
Om pip inte är tillgänglig, ladda ner det komprimerade arkivet från PyPI .
För att testa utvecklingsversionen, ladda ner det komprimerade arkivet från utvecklingsgrenen på PyInstaller Nedladdningar- sidan.
Utöka arkivet och hitta skriptet setup.py
. Kör python setup.py install
med administratörsbehörighet för att installera eller uppgradera PyInstaller.
Verifiera installationen
Kommandot pyinstaller
bör finnas på pyinstaller
för alla plattformar efter en framgångsrik installation.
Verifiera det genom att skriva pyinstaller --version
i kommandoraden. Detta kommer att skriva ut den aktuella versionen av pyinstaller.
Använda Pyinstaller
I det enklaste användningsfallet navigerar du bara till katalogen din fil är i och skriver:
pyinstaller myfile.py
Pyinstaller analyserar filen och skapar:
- En myfile.spec- fil i samma katalog som
myfile.py
- En build- mapp i samma katalog som
myfile.py
- En dist- mapp i samma katalog som
myfile.py
- Logga filer i build- mappen
Den medföljande appen finns i mappen dist
alternativ
Det finns flera alternativ som kan användas med pyinstaller. En fullständig lista över alternativen finns här .
När appen är samlad kan du köra genom att öppna 'dist \ myfile \ myfile.exe'.
Buntar till en mapp
När PyInstaller används utan några alternativ för att paketera myscript.py
, är standardutgången en enda mapp (benämnd myscript
) som innehåller en körbar namngiven myscript
( myscript.exe
i windows) tillsammans med alla nödvändiga beroenden.
Appen kan distribueras genom att komprimera mappen till en zip-fil.
Ett mappläge kan ställas in på ett explicikt sätt med alternativet -D
eller --onedir
pyinstaller myscript.py -D
fördelar:
En av de största fördelarna med att paketera till en enda mapp är att det är lättare att felsöka problem. Om några moduler inte importerar kan det verifieras genom att inspektera mappen.
En annan fördel känns under uppdateringar. Om det finns några ändringar i koden men beroenden som används är exakt desamma kan distributörer bara skicka den körbara filen (som vanligtvis är mindre än hela mappen).
nackdelar
Den enda nackdelen med denna metod är att användarna måste söka efter den körbara bland ett stort antal filer.
Användare kan också ta bort / ändra andra filer som kan leda till att appen inte kan fungera korrekt.
Bundling till en enda fil
pyinstaller myscript.py -F
Alternativen för att generera en enda fil är -F
eller --onefile
. Detta samlar programmet i en enda myscript.exe
fil.
Enkel fil körbar är långsammare än en mappspaket. De är också svårare att felsöka.