का आकार घटाना मेरे पास एक साधारण पांडा pyinstaller exe है जो 40 एमबी से अधिक है।pyinstaller exe
मेरे exe उदाहरण:
इस के लिएimport collections
import csv
import selenium
import pandas
print('hi')
40MB + थोड़ा overkill लगता है।
मैं जितना संभव हो इसे कम कर सकता हूं?
एक विधि:
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 के लिए 40 एमबी? मैंने इसे यूपीएक्स करने की कोशिश की, लेकिन यह मेरे लिए ज्यादा नहीं बदल रहा है। यह गलत करना होगा। –
जब मैं 'pyinstaller --onefile test.py' करता हूं (test.py में आपका उदाहरण होता है), मुझे निष्पादन योग्य मिलता है जो लगभग 5 एमबी है। –