当前位置:首页 » 编程软件 » python编译体积大

python编译体积大

发布时间: 2025-03-20 21:51:37

python嵌入式打包,解决大型库打包难题

在使用python项目涉及大型第三方库如torch后,项目体积可能超过1GB,导致使用nuitka或pyinstaller打包面临打包成功率低、耗时长、打包后体积大等问题。本文探讨使用嵌入式打包来解决这一难题。


解决思路在于只打包解释器和项目核心代码,第三方依赖由用户在首次使用程序时现场安装。实现这一方案的示例代码如下:


示例代码的项目构造

  1. main.py

  2. app文件夹,放置自定义代码的文件

  3. start_main.py项目文件


运行效果与打包准备

  1. 准备项目依赖文件requirements.txt,激活项目环境,使用命令导出依赖文件。

  2. 下载嵌入式解释器与pystand壳,从官网及github获取。

  3. 准备get-pip.py脚本,用于下载pip工具。


开始打包

  1. 复制项目代码至pystand同级目录下的app文件夹,覆盖pystand.int文件内容。

  2. 创建download.py脚本,用于提示用户安装依赖、运行pip工具安装环境依赖,并提醒用户重启程序。

  3. 修改pystand.int文件,捕获MoleNotFoundError错误,调用python解释器运行download.py脚本。

  4. 将requirements.txt文件放置在runtime文件夹。

  5. 修改runtime文件夹中的._pth文件,取消import site前的注释。

  6. 删除pystand同级目录的sitepackages文件夹。


测试与额外讲解
测试包含如下步骤:

  1. 双击运行pystand,程序提示缺少依赖,执行下载脚本。

  2. 安装完成后,提示用户重启程序。

  3. 重启程序,首次启动较慢(包含第三方库py转pyc的过程),后续启动正常。


这种方式利用pip工具,使得程序分发体积仅11MB,避免了Python程序打包体积过大问题,同时避免了传统打包方式可能遗漏依赖的问题。适合大型库如torch、yolov、OCR等的项目。无需用户电脑上已有Python环境,第三方库安装在runtimeLibsite-packages文件夹下,确保._pth文件取消注释以避免no mole name pip错误。打包方式一次成功后,可多次复用,不同项目只需替换依赖文件、代码及runtime文件夹内容。


torch库的特殊打包
若项目依赖了torch库的GPU版,需将依赖文件拆分为包含torch、torchaudio、torchvision三个库的一份和包含其他依赖库的一份。download.py脚本需先安装torch库。
热点内容
scratch少儿编程课程 发布:2025-04-16 17:11:44 浏览:633
荣耀x10从哪里设置密码 发布:2025-04-16 17:11:43 浏览:362
java从入门到精通视频 发布:2025-04-16 17:11:43 浏览:78
php微信接口教程 发布:2025-04-16 17:07:30 浏览:303
android实现阴影 发布:2025-04-16 16:50:08 浏览:789
粉笔直播课缓存 发布:2025-04-16 16:31:21 浏览:339
机顶盒都有什么配置 发布:2025-04-16 16:24:37 浏览:206
编写手游反编译都需要学习什么 发布:2025-04-16 16:19:36 浏览:806
proteus编译文件位置 发布:2025-04-16 16:18:44 浏览:360
土压缩的本质 发布:2025-04-16 16:13:21 浏览:586