[Python] Pyinstaller gebruiken om .exe te maken

Pagina: 1
Acties:

Vraag


  • SinkerNL
  • Registratie: December 2016
  • Laatst online: 02-10 19:33
Mijn vraag
Ik ben momenteel bezig om een applicatie te bouwen, dat uiteindelijk in de vorm van een .exe bestand gegoten moet worden. De applicatie is zo goed als af (moeten nog wel wat bugs uitgehaald worden), maar nu ben ik aan gekomen bij het maken van de .exe file.

Van alle verschillende pakketten, lijkt het mij het beste om pyinstaller te gebruiken. Een .exe file die gemaakt wordt wordt in een map geplaatst met verschillende .dll en andere bestanden (ik maar er dus niet een enkele .exe bestand van).

Het probleem dat ik nu heb, is dat het heel lang duurt voordat het programma gestart wordt. Twee dingen zijn me hier opgevallen:
1. Hij installeert heel veel python pakketten die ik niet gebruik (ik zie bijvoorbeeld in de installatie map PyQT5 staan, terwijl ik Pyside2 gebruik).
2. De map is best wel aan de grote kant.

De imports die ik gebruik zijn:
- PySide2 (voor de GUI)
- Matplotlib (het is een programma om plots te maken, dus nodig)
- Pandas (om csv in te lezen en te manipuleren)
- Numpy (om nog wat speciale dingen te doen met arrays voor in de plots bijv.)
- os (ik moet een map specificeren waar de csv's staan)
- glob (ik moet ik alle mappen/bestanden zoeken die in de specifieke map staan)

Wat me daarnaast is opgevallen, is dat het wellicht aan Matplotlib kan liggen. Zolang ik een programma maak (al is het met Tkinter), dan gaat het goed, totdat ik matplotlib ga gebruiken.

Voor het geval dat iemand mij de vraag stelt of ik een antivirus programma heb, het is een computer van de zaak, dus ik ga er vanuit van wel. Alleen zou ik deze dus niet kunnen uitzetten. Wellicht dat er een mogelijkheid is om het programma veiliger te maken (nu begin ik maar te gokken).

Mijn vraag is eigenlijk, hoe kan ik er nu voor zorgen dat ik de opstarttijd van m'n .exe bestand versnel (onder de 10 sec opstarten zou goed zijn).

Wat ik ook heb geprobeerd:
- Python 3.6 ipv 3.7
- Een venv opgestart, de benodigde pakketten geinstalleerd, maar blijkbaar als je dan pyinstaller gebruikt, dan installeert hij alsnog pakketten die ik niet heb gespecificeerd en op m'n computer staan.
- Tkinter ipv PySide2 (PySide2 gebruik ik, omdat PyQT5 licentie problemen oplevert)
- Gewoon je .py bestand runnen, start heel snel op.

Alle reacties


  • spleethoven
  • Registratie: Oktober 2010
  • Laatst online: 24-01-2024
SinkerNL schreef op donderdag 22 augustus 2019 @ 09:00:

Het probleem dat ik nu heb, is dat het heel lang duurt voordat het programma gestart wordt. Twee dingen zijn me hier opgevallen:
1. Hij installeert heel veel python pakketten die ik niet gebruik (ik zie bijvoorbeeld in de installatie map PyQT5 staan, terwijl ik Pyside2 gebruik).
Als ik PySide2 even opzoek zie ik het volgende staan:

https://pypi.org/project/PySide2/

PySide2 is the official Python module from the Qt for Python project, which provides access to the complete Qt 5.12+ framework.

Dus je gebruikt wel QT5, aleen via een andere module :-)

  • SinkerNL
  • Registratie: December 2016
  • Laatst online: 02-10 19:33
@spleethoven Dat zou dan inderdaad verklaren waarom het wordt geimporteerd. Alleen lost het helaas nog niet het probleem op dat het opstarten van de .exe zo lang duurt (~30/40 seconden).