You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用PyInstaller生成最小体积可执行文件?Windows 10环境

如何在Windows 10的干净Python 3.5环境中用PyInstaller生成独立可执行文件

作为同样在Windows 10上折腾过干净Python环境打包的开发者,我分享下自己的测试过程和结果——我本身装了Anaconda,但为了生成最小化的独立exe,特意搭建了纯Python 3.5的极简环境,做了两项测试:

测试1:基础脚本的极简打包

  • 先准备测试环境:在testenv文件夹里新建test1.py,只写最基础的代码:
    print("Hello from clean Python 3.5!")
    
  • 搭建干净的虚拟环境:为了完全避开Anaconda的干扰,我用Python 3.5自带的venv创建独立环境:
    # 确保系统已安装Python 3.5,执行命令创建环境
    python3.5 -m venv ./clean_py35_env
    # 激活这个干净环境
    .\clean_py35_env\Scripts\activate.bat
    
  • 安装PyInstaller并打包:选适配Python 3.5的PyInstaller版本(我用的是3.2.1),然后打包成单文件exe:
    pip install pyinstaller==3.2.1
    pyinstaller --onefile test1.py
    
  • 最终结果:生成的test1.exe大小大概6MB,完全独立,不需要依赖任何系统或Anaconda的库,双击就能运行。

测试2:引入pandas后的打包情况

  • 修改脚本引入pandas:更新test1.py的内容,加入pandas的基础使用代码:
    import pandas as pd
    sample_df = pd.DataFrame({"ID": [1, 2, 3], "Value": ["A", "B", "C"]})
    print("Sample DataFrame:\n", sample_df)
    
  • 在干净环境安装pandas:激活之前的clean_py35_env,安装适配Python 3.5的pandas版本(我选的0.25.3):
    pip install pandas==0.25.3
    
  • 重新打包:再次执行PyInstaller命令:
    pyinstaller --onefile test1.py
    
  • 结果:这次生成的exe体积会大幅增加(通常会到300MB左右),这是因为PyInstaller会把pandas及其所有依赖(比如numpy、各类底层运算库)都完整打包进去,确保exe在没有任何外部依赖的环境下也能正常运行。

额外小贴士

  • 为什么不用Anaconda的环境?因为Anaconda默认会预装很多冗余库,哪怕是新建环境也可能带一些不必要的依赖,导致打包出来的exe体积臃肿,原生venv能保证环境绝对干净。
  • 版本适配是关键:一定要选择和Python 3.5兼容的第三方库版本,不然会出现安装失败或者打包后运行报错的问题。
  • 如果想进一步缩小exe体积,可以试试--exclude-module参数手动排除不需要的依赖模块,或者用UPX工具压缩(但要注意UPX可能会导致某些复杂依赖的exe运行异常,需要测试验证)。

内容的提问来源于stack exchange,提问作者esperluette

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 06:22:53