私は40MB以上の単純なpandas pyinstaller exeを持っています。pyinstaller exeのサイズを小さくする
私のexeファイルの例:このため
import collections
import csv
import selenium
import pandas
print('hi')
40メガバイトの+は、ビット行き過ぎです。
これをできるだけ減らすにはどうすればよいですか?
一つの方法:
pyinstaller --onefile --exclude matplotlib --exclude scipy --exclude pandas --exclude numpy.py
しかし、このことは、除外リストは次のようになりどのように大きな考えると現実的ではありません。
pyinstallerのモジュールを取得したり除外したりするために、小さなアプリケーションを使用するために、どのようにフォルダを選択しますか?
スペックファイル:
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)
また、言及する価値があります。デフォルトでは、Pyinstallerはパンダを検出しません。
追加:
hiddenimports = ['pandas._libs.tslibs.timedeltas']
To: C:\Users\<NAME>\AppData\Local\Programs\Python\Python36\Lib\site-packages\PyInstaller\hooks
可能solution複数の実行可能ファイルを使用した場合、すべての輸入品との別のフォルダまたは実行可能ファイルに各実行可能ファイルをリンクすることができます。 Pythonインタプリタhttps://virtualenv.pypa.io/en/stable/
依存関係を削除すると、exeはスクリプトを実行できなくなるか、何か不足していますか? @FlorentB。 –
Pyinstallerは必要のない他のものをパッケージしています。また、そのexeのための40メガバイト?私はそれをUPXしようとしましたが、それは私にとってはあまり変わっていません。それは間違っている必要があります。 –
私が 'pyinstaller --onefile test.py'を実行すると(test.pyにあなたの例が含まれています)、私は約5MBの実行可能ファイルを手に入れます。 –