依赖外部软件的项目如何打包成exe
打包依赖外部软件的项目,先决定依赖随包分发还是要求目标机预装:随包分发靠目录模式带上依赖并指定路径,预装则要把检查、提示、引导安装链路做扎实。
要点
- 依赖随包分发:把 TinyTeX、ffmpeg 等依赖目录放进程序目录,启动时设进 PATH 或用绝对路径调用,便携但包体大。
- 运行时探测依赖并给出具体错误或一键安装,适合依赖太重或许可证不允许分发的情况。
- 首次启动时从服务器或 CDN 下载依赖并校验哈希,缺点是离线不可用且需维护下载源。
- PyInstaller 用 --add-data,Nuitka 也要显式带上依赖目录;单文件模式每次解压大依赖很慢,建议 --onedir。
- 要求预装时启动即用 shutil.which 探测,PATH 类与注册表类依赖分开查,报错写清缺什么、去哪下载、装完是否重启。
- 已运行进程拿不到新装的 PATH,可重读注册表拼 PATH 给子进程,或提示用户重启程序;图形界面与命令行启动的环境可能不同。