나는 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 여러 개의 실행 파일을 사용하는 경우, 모든 수입과 별도의 폴더 또는 실행에 각각의 실행 파일을 링크 할 수 있습니다.
종속성을 제거하면 exe가 스크립트를 실행할 수 없거나 뭔가 빠졌습니까? –
@FlorentB. Pyinstaller는 필요없는 다른 것들을 패키징합니다. 또한, 해당 EXE 40mb? 나는 그것을 UPX하려고했지만, 그것은 나를 위해 많이 변하지 않습니다. 그 일을 잘못하고 있어야합니다. –
'pyinstaller --onefile test.py' (test.py는 예제를 포함하고 있습니다)를 실행하면 약 5MB의 실행 파일을 얻을 수 있습니다. –