Inleiding
In deze tutorial gaan we in op het converteren van Python-scripts naar uitvoerbare Windows-bestanden in vier eenvoudige stappen. Hoewel er veel manieren zijn om dit te doen, zullen we, volgens de populaire opinie, de eenvoudigste tot nu toe behandelen.
Deze tutorial is ontworpen na het bekijken van veel voorkomende fouten die mensen tegenkomen bij het uitvoeren van deze taak, en bevat daarom ook gedetailleerde informatie om alle afhankelijkheden te installeren en in te stellen. Voel je vrij om een stap over te slaan, als je die afhankelijkheden al geïnstalleerd hebt. Zonder verdere omhaal, laten we beginnen.
Stap 1: Installeer cURL
cURL biedt een bibliotheek en een command line tool voor het overbrengen van gegevens met behulp van verschillende protocollen. We hebben het nodig om de pip package manager te downloaden in de volgende stap. Velen van u zullen het al geïnstalleerd hebben, wat u kunt controleren door het volgende commando uit te voeren:
$ curl --version
Als het bovenstaande commando een curl versie retourneert, kunt u de volgende instructies in deze stap overslaan. Voor de rest kunt u curl installeren door deze drie stappen te volgen:
Dit betekent echter dat u het curl commando alleen in die specifieke map kunt gebruiken. Om het curl commando overal op uw machine te kunnen gebruiken, klik met de rechtermuisknop op curl.exe, klik op “Eigenschappen” en kopieer de “Locatie” waarde. Klik daarna met de rechtermuisknop op “My PC” en klik op “Properties”. In het optiepaneel aan de linkerkant, selecteert u de optie “Geavanceerde systeeminstellingen”. Deze optie is gemarkeerd in de onderstaande schermafbeelding.
In het venster dat verschijnt, klikt u rechtsonder op “Omgevingsvariabelen”. Het is gemarkeerd in de schermafbeelding hieronder.
In het volgende venster, zoekt en dubbelklikt u op de gebruikersvariabele met de naam “Path” en klikt u vervolgens op “New”. In dat venster wordt een nieuw tekstvak gemaakt; plak de “Location”-waarde van het bestand “curl.exe” dat u eerder hebt gekopieerd, en klik vervolgens op “OK”.
cURL moet nu overal in uw systeem toegankelijk zijn. Bevestig uw installatie door het onderstaande commando uit te voeren:
$ curl --version
Laten we naar de volgende stap gaan.
Stap 2: Installeer pip
In deze stap zullen we pip installeren, wat in feite een package manager voor Python packages is. We hebben het nodig in de volgende stap om de pyinstaller bibliotheek te installeren. De meesten van jullie zullen het al geïnstalleerd hebben, om dit te controleren voer je het volgende commando uit:
$ pip --version
Als het bovenstaande commando een pip versie teruggeeft, kun je de volgende instructies in deze stap overslaan.
Voor de rest kunt u pip installeren door de volgende twee commando’s in de opdrachtprompt uit te voeren:
$ curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
$ python get-pip.py
Dat is het. Pip is nu geïnstalleerd op uw lokale machine! U kunt het volgende commando uitvoeren ter bevestiging:
$ pip --version
Voordat u naar de volgende stap gaat, moet u herhalen wat we voor curl.exe hebben gedaan, zodat u het pip commando van overal in uw machine kunt benaderen, maar deze keer doen we dat voor “pip.exe”.
Druk op de Windows-toets en zoek naar “pip.exe”, klik dan met de rechtermuisknop op het eerste zoekresultaat en klik op “Bestandslocatie openen”, het zal je naar de map brengen waarin dat bestand zich bevindt. Klik met de rechtermuisknop op het bestand “pip.exe” en selecteer vervolgens “Eigenschappen”. Kopieer daarna de “Location” waarde en plak die in de Path variabele, net zoals we in stap 1 hebben gedaan.
Stap 3: Installeer PyInstaller
In deze stap gaan we pyinstaller installeren met pip. We hebben pyinstaller nodig om onze Python scripts om te zetten in uitvoerbare (.exe) bestanden. U hoeft alleen maar het onderstaande commando in uw opdrachtprompt te kopiëren en uit te voeren:
$ pip install pyinstaller
Opnieuw, om uw installatie te bevestigen, voert u het volgende commando uit:
$ pyinstaller --version
Note: Als u Anaconda op uw systeem hebt geïnstalleerd, dan gebruikt u waarschijnlijk conda
pakketbeheer in plaats daarvan. In dat geval voert u de volgende commando’s uit, in volgorde:
$ conda install -c conda-forge pyinstaller$ conda install -c anaconda pywin32
Deze stap markeert het einde van alle installaties. In de volgende stap converteren we onze Python bestanden naar een executable met slechts een enkel commando.
Step 4: Converteer Python Bestanden naar Executables
Dit is de laatste stap. We zullen pyinstaller gebruiken om onze .py
bestanden te converteren naar .exe
met een enkel commando.
Open de opdrachtprompt en navigeer naar de directory waar uw Python-bestand/script zich bevindt. Je kunt die map ook openen met File Explorer, rechtsklikken + shift en dan “Opdrachtprompt openen in deze map” selecteren. Voordat u uw bestand converteert, moet u controleren of uw bestand werkt zoals verwacht. Voor dat doel heb ik een basis Python script geschreven dat het getal 10 afdrukt wanneer het wordt uitgevoerd.
Laten we het script uitvoeren en kijken of het goed werkt voordat we het converteren naar een uitvoerbaar bestand. Voer het volgende commando uit op uw opdrachtprompt:
$ python name_of_your_file.py
In mijn geval was de bestandsnaam ‘sum.py’.
Om een standalone uitvoerbaar bestand te maken in dezelfde directory als uw Python-bestand, voert u het volgende commando uit:
$ pyinstaller --onefile <file_name>.py
De voltooiing van deze instructie kan enige tijd in beslag nemen. Na afloop worden er drie mappen gegenereerd. U kunt het uitvoerbare bestand vinden in de ‘dist’ map. Merk op dat het “onefile” argument pyinstaller vertelt om slechts een enkel uitvoerbaar bestand te maken.
Laten we nu ons uitvoerbaar bestand uitvoeren om te zien of de procedure werkte!
Ta-da! Het werkte precies zoals verwacht.
Een kleine tip, als je uitvoerbare bestand te snel sluit om de uitvoer op te merken, kun je een input()
regel toevoegen aan het eind van je Python bestand, die de prompt open houdt terwijl je wacht op het gebruik van invoer. Zo kon ik ook een screenshot maken van mijn uitvoer.
Bedenk ook dat als je uitvoerbare bestand afhankelijk is van andere uitvoerbare bestanden, zoals phantomjs
, je deze in dezelfde directory moet houden als de directory van je Python bestand, zodat pyinstaller deze kan opnemen in het uitvoerbare bestand.
Conclusie
In deze tutorial hebben we in detail de conversie van Python scripts naar uitvoerbare bestanden met Python’s pyinstaller library in vier stappen besproken. We begonnen met het installeren van cURL, gevolgd door pip en pyinstaller. Tenslotte hebben we een voorbeeld Python bestand geconverteerd naar een uitvoerbaar bestand om ervoor te zorgen dat de procedure werkt op Windows.