PyInstaller:不能排除模块



>我已经编译了一个.py文件的exe,但问题是它是200mb+ 我想删除无用的软件包(例如我不使用的软件包scipy(。

我仍然没有清除 PyInstaller 的正确语法。

让我们从头开始...通常我在cmd上做:

cd myFolder
C:Python27ScriptsPyinstaller.exe MyFile.py 

它给了我dist文件夹中的exe文件。

如果我想设置一些配置,哪种方式是正确的?

C:Python27ScriptsPyinstaller.exe MyFile.py Config.py

C:Python27ScriptsPyinstaller.exe Config.py

因为在网上我找到了他们两个,但我无法区分。

如果这是我尝试运行的最后一个:

lock_cipher = None
a = Analysis(['Main.py'],
pathex=['C:UsersmynameDesktopmyFolder'],
binaries=None,
datas=None,
hiddenimports=[],
hookspath=None,
runtime_hooks=None,
excludes=None,
cipher=block_cipher)
a.binaries = [x for x in a.binaries if not x[0].startswith("scipy")]
pyz = PYZ(a.pure, a.zipped_data,
cipher=block_cipher)
exe = EXE(pyz)
coll = COLLECT(exe)

但它不起作用。我错在哪里?

我的建议是使用仅包含所需模块的虚拟环境。这是一种更好的发展做法。

此外,您可以使用--exclude-module标志列出要排除的所有模块。(Pyinstaller 会自动包含不需要的模块(

最新更新