[pyinstaller pygame] 配置python环境变量 解决pyinstaller打包exe过大的问题

问题重述

最近写一个小游戏(华容道),代码量不大,主要靠pygame模块实现。代码量不大,所以肯定不是我代码的问题,99.999%是包的引用出了问题。以下是我引用的所有包:
[pyinstaller pygame] 配置python环境变量 解决pyinstaller打包exe过大的问题_第1张图片
才引用这么几个包,结果打包结果大小200M,这肯定不正常,况且我没有引用任何图片、声音资源。退一步讲,即使引用图片资源也不是打包在exe中的。

寻找问题

在网上看了很多帖子,很多人都有反应打包exe过大的问题,发现大家都有个共同点:都是在ANACODA下安装的pyinstaller。我猜想是pyinstaller打包的时候会将python环境所有已安装的包都打包,才会导致此问题。因为我在看调试信息的时候发现报错中出现了numpy导致的错误,我根本没有引用numpy。pygame与之互引的可能性也不大。因此确定就是python环境导致的问题。

解决问题

  • 现有解决方案
    https://blog.csdn.net/Hubz131/article/details/82980967/
    这个大佬直接解决了问题,尴尬
  • 我的解决方案

思路是一样的,都是安装心得python环境,但是我这个针对只用到pygame模块的程序。

  • 首先将另一个版本的python安装到与ANACODA不同路径的文件夹中

  • 找到安装文件夹,将其中一个pip.exe改成一个不同的名字,我改的pipo.exe

  • [pyinstaller pygame] 配置python环境变量 解决pyinstaller打包exe过大的问题_第2张图片

  • 配置环境变量(跟着步骤走,不会影响你原来的python,请放心)
    下图中,绿色框是你之前的python路径,红色框是你新安装的python路径。(在前的优先级高,所以我说不会影响你原来的python)
    [pyinstaller pygame] 配置python环境变量 解决pyinstaller打包exe过大的问题_第3张图片

  • 打开cmd,键入命令pipo install pyinstaller这样,就会调用你新安装的python环境,安装另一个新的pyinstaller。

  • 打开新的python文件夹,我这里是D:/PYTHON/Scripts(就是你安装新python路径离的Scripts文件夹下),找到pyinstaller.exe,还是改名大法,改成一个不同的名称,我改成了pyinstallero.exe.如图:
    -[pyinstaller pygame] 配置python环境变量 解决pyinstaller打包exe过大的问题_第4张图片

  • 现在,你就可以在新的python环境中调用新的pyinstaller了:

pipo install pygame #  先安装pygame
pyinstaller -F hrd.py #  再次打包,会发现速度快了不少,exe也减少到10MB

结果:
在这里插入图片描述[pyinstaller pygame] 配置python环境变量 解决pyinstaller打包exe过大的问题_第5张图片
这样分享起来就方便多了。

注意

所有路径中最好不要出现中文,代码中也是。

有问题欢迎留言或者[email protected],我会很乐意提供帮助!

你可能感兴趣的:(python,python,exe)