为什么 pyinstaller 会创建这么大的 exe 文件?
Why does pyinstaller create so large exe files?
当我使用 pyinstaller 将我的 python 游戏文件转换为 exe 文件时,结果文件的大小非常大 (300 MB)。我还使用了 upx,它使文件 exe 文件变得更大(317 MB)。 python 游戏文件是离线游戏。任何人都可以为此提供解决方案吗?
Pygame 可选地依赖于 numpy、scipy 和 PIL。 (或者 scipy 和 PIL 可能来自对 numpy 的选择性依赖,这里没有区别)
如果您的系统上安装了这些,PyInstaller 会将它们与您的可执行文件捆绑在一起。但你可能不需要它们。 (除非您使用 pygame.sndarray
或 pygame.surfarray
,它们由 numpy 支持)。
要排除它们,您可以将以下内容添加到 .spec
文件的 excludes
部分:['numpy', 'scipy', 'PIL']
看起来您也可以通过多次使用 --exclude-module
参数作为命令行选项来执行此操作。参见 https://pyinstaller.readthedocs.io/en/stable/usage.html#cmdoption-exclude-module
有些人也通过使用虚拟环境来解决这个问题。
但即使假设您捆绑了这 3 个库,300 MB 也相当大。如果您正在执行单文件模式,请停止这样做以进行调试,这样您就可以看到项目中包含的文件夹名称和文件。这会给你更多的洞察力。
当我使用 pyinstaller 将我的 python 游戏文件转换为 exe 文件时,结果文件的大小非常大 (300 MB)。我还使用了 upx,它使文件 exe 文件变得更大(317 MB)。 python 游戏文件是离线游戏。任何人都可以为此提供解决方案吗?
Pygame 可选地依赖于 numpy、scipy 和 PIL。 (或者 scipy 和 PIL 可能来自对 numpy 的选择性依赖,这里没有区别)
如果您的系统上安装了这些,PyInstaller 会将它们与您的可执行文件捆绑在一起。但你可能不需要它们。 (除非您使用 pygame.sndarray
或 pygame.surfarray
,它们由 numpy 支持)。
要排除它们,您可以将以下内容添加到 .spec
文件的 excludes
部分:['numpy', 'scipy', 'PIL']
看起来您也可以通过多次使用 --exclude-module
参数作为命令行选项来执行此操作。参见 https://pyinstaller.readthedocs.io/en/stable/usage.html#cmdoption-exclude-module
有些人也通过使用虚拟环境来解决这个问题。
但即使假设您捆绑了这 3 个库,300 MB 也相当大。如果您正在执行单文件模式,请停止这样做以进行调试,这样您就可以看到项目中包含的文件夹名称和文件。这会给你更多的洞察力。