python - 减少 pyinstaller exe 的大小

标签 python pandas selenium selenium-webdriver pyinstaller

我有一个简单的 pandas pyinstaller exe,它超过 40MB。

我的exe示例:

import collections
import csv
import selenium
import pandas

print('hi')

40MB+ 对于这个来说似乎有点过分了。

如何尽可能减少这种情况?

一种方法:

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 不检测 pandas。

添加:

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

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

可能的solution当使用多个可执行文件时,可以将每个可执行文件链接到一个单独的文件夹或具有所有导入的可执行文件。

最佳答案

尝试使用 virtualenv 设置环境,并仅在其中安装所需的库

有关使用虚拟环境的一些详细信息如下:https://virtualenv.pypa.io/en/stable/

关于python - 减少 pyinstaller exe 的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54257108/

相关文章:

Python 正则表达式无法按预期工作

python - pandas 聚合的条件总和

python - 模块 'pandas' 没有属性 'rolling_apply'

python - 在 Pandas 数据框中将某些行向左移动

excel - 使用 VBA 和 Selenium 自动化 Google Chrome

python - 循环时我应该在哪里实例化我的 WebDriver 实例?

python |如何限制 IRC 机器人中的命令?

python - Seaborn 热图自定义颜色图

python - 如何使用selenium让chrome浏览器在后台运行

python - opencv - 如何在没有比例的情况下进行模板匹配?