Anaconda最小化打包exe环境及方案

pyinstaller打包教学

Anaconda最小化打包exe环境及方案

一、最小化 Anaconda 虚拟环境

1️⃣ 创建最简环境

1
conda create -n pdf2word python=3.9 --no-default-packages

--no-default-packages 能避免安装庞大的工具包(如 pip、setuptools 等默认依赖)。

进入环境:

1
conda activate pdf2word

2️⃣ 仅安装必要依赖

创建一个 requirements.txt

1
2
pdf2docx==0.5.6
pymupdf==1.22.5

然后执行pip install -r requirements.txt


🧰 二、打包成可执行文件(推荐:PyInstaller)

1️⃣ 安装 PyInstaller

1
pip install pyinstaller

2️⃣ 打包命令(最小化体积)

1
pyinstaller --onefile --noconsole --clean --strip your_script.py

说明:

  • --onefile:打包成单个 exe 文件
  • --noconsole:不弹出命令行窗口
  • --clean:清除缓存和临时文件
  • --strip:剔除符号表、调试信息,显著缩小体积

3️⃣ 得到的文件

dist/ 目录中生成:

1
2
dist/
 └─ your_script.exe

🧩 三、进一步瘦身技巧

✅ (可选)移除不必要的依赖模块

PyInstaller 默认会将 pdf2docx 依赖的 lxmlPyQt5PyMuPDF 全打进去,但其实不需要全部。

你可以手动编辑生成的 .spec 文件(在打包后生成),找到:

1
2
3
4
5
a = Analysis(
    ['your_script.py'],
    ...
    hiddenimports=[],
)

添加:

1
excludes=['PyQt5', 'numpy', 'matplotlib', 'pandas', 'PIL']

然后重新打包:

1
pyinstaller your_script.spec --clean --strip

如果打包后无法运行,检查排除的依赖包,是否有运行时需要的必备包也被排除掉了。


🪶 四、用 UPX 再压缩(强烈推荐)

安装 UPX:

  • Windows 版本下载:https://upx.github.io/
  • 解压后将 upx.exe 加入 PATH。

然后执行:

1
pyinstaller --onefile --noconsole --clean --strip --upx-dir "C:\path\to\upx" your_script.py

⚡ UPX 通常能再压缩 50%~70% 的体积。 实测:原始 60MB → UPX 压缩后 10MB 左右。


⚙️ 五、最终结果

优化方式 打包后体积
默认打包 ~60MB
--strip + 精简依赖 ~25MB
+ UPX 压缩 5–8MB

六、给打包后的exe文件增加图标

注意事项

  1. ICO 文件格式
    • 必须是标准 .ico 格式。
    • 推荐大小:128×128 或 256×256 像素,包含多个尺寸(16×16、32×32、48×48、128×128),这样在不同缩放下都清晰。
    • 将ico文件命名为app.ico,放在主目录下,如果脚本中存在图片调用,使用–add-data添加图片,注意脚本中使用os和sys库调用图片位置,不然打包后可能会找不到图片。
    • 使用以下命令进行打包:
1
2
3
4
5
6
7
pyinstaller --clean --onefile --noconsole ^
--icon=app.ico ^
--add-data "pic1.png;." ^
--add-data "pic2.png;." ^
--hidden-import=PIL --hidden-import=PIL._tkinter_finder ^
--hidden-import=PIL.Image --hidden-import=PIL.ImageTk ^
batch_pdf_to_word.py
请我喝杯奶茶
部分资料来源于网络整理,如有侵权请联系删除
本站已稳定运行: