当前位置:首页 » 编程软件 » 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-04-30 19:48:21 浏览:59
java文件上传服务器 发布:2025-04-30 19:01:09 浏览:693
编程课活动 发布:2025-04-30 18:49:06 浏览:157
如何发布axure服务器 发布:2025-04-30 18:23:05 浏览:14
模拟器脚本制作 发布:2025-04-30 17:59:23 浏览:834
天翼云电脑pc版不显示服务器 发布:2025-04-30 17:32:32 浏览:598
psp存储卡是否原装 发布:2025-04-30 17:12:44 浏览:561
java的jdk64下载 发布:2025-04-30 17:05:14 浏览:694
java培训机构那家好 发布:2025-04-30 16:45:02 浏览:667
前端缓存数据库 发布:2025-04-30 16:38:59 浏览:916