Verringerung der Größe von pyinstaller exe

Habe ich eine einfache pandas pyinstaller exe-Datei, die ist über 40MB.

Meine exe-Beispiel:

import collections
import csv
import selenium
import pandas

print('hi')

40MB+ für diese scheint ein wenig übertrieben.

Wie kann ich reduzieren, so viel wie möglich?

Einer Methode:

pyinstaller --onefile --exclude matplotlib --exclude scipy --exclude pandas --exclude numpy.py

Dies ist jedoch nicht praktikabel, wenn man bedenkt, wie groß die Ausschluss-Liste wäre.

Wie wähle ich einen Ordner für pyinstaller um Module aus und schließen alles andere, so kann ich eine kleine Anwendung?

Spec-Datei:

a = Analysis(['123.py'],
             pathex=['C:\\Users\\AA\\ZZ'],
             binaries=[],
             datas=[],
             hiddenimports=[],
             hookspath=[],
             runtime_hooks=[],
             excludes=[],
             win_no_prefer_redirects=False,
             win_private_assemblies=False,
             cipher=block_cipher)
pyz = PYZ(a.pure, a.zipped_data,
             cipher=block_cipher)
exe = EXE(pyz,
          a.scripts,
          a.binaries,
          a.zipfiles,
          a.datas,
          name='123',
          debug=False,
          strip=False,
          upx=True,
          runtime_tmpdir=None,
          console=True )

Es ist auch Wert das erwähnen. Standardmäßig Pyinstaller nicht erkennen pandas.

Hinzufügen:

hiddenimports = ['pandas._libs.tslibs.timedeltas']

To: C:\Users\<NAME>\AppData\Local\Programs\Python\Python36\Lib\site-packages\PyInstaller\hooks

Einer möglichen Lösung, wenn mehrere ausführbare Dateien, werden könnte, für jede ausführbare Datei in einen separaten Ordner oder eine ausführbare Datei mit allen Einfuhren.

  • Wenn Sie entfernen Sie die Abhängigkeiten, die exe ist nicht in der Lage sein, führen Sie Ihr Skript, oder bin ich etwas fehlt?
  • Pyinstaller ist Verpackung andere Sachen, die nicht benötigt werden. Auch, 40 MB für die exe? Ich versuchte, UPX, aber es ist nicht zu ändern viel für mich. Muss tun es falsch.
  • Wenn ich pyinstaller --onefile test.py (test.py enthält dein Beispiel), ich bekomme eine ausführbare Datei, die ist über 5 MB.
  • Versuchen Sie es mit der --onedir-option anstelle von --onefile, und sehen, was pyinstaller ist dabei, in den dist-Ordner.
InformationsquelleAutor | 2017-12-07
Schreibe einen Kommentar