当前位置:首页 » 编程软件 » 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库。
热点内容
学写脚本 发布:2025-03-21 10:34:00 浏览:885
办公linux 发布:2025-03-21 10:21:37 浏览:429
安卓如何打开飞行模式 发布:2025-03-21 10:19:45 浏览:190
id3算法java 发布:2025-03-21 10:14:38 浏览:352
苹果手机怎么能安装安卓手机软件 发布:2025-03-21 09:59:40 浏览:983
算法的欺骗 发布:2025-03-21 09:57:32 浏览:856
怎么做解压玩具用家里有的材料 发布:2025-03-21 09:33:10 浏览:515
sqlserver2008下载32位 发布:2025-03-21 09:31:01 浏览:288
android执行脚本 发布:2025-03-21 09:20:19 浏览:353
设计类编程 发布:2025-03-21 09:18:46 浏览:513