文章目录
一、背景
- 将dify官网或者自己开发的工具,在没有网络情况下安装,那么需要提前把python依赖包一起打包才能正常安装。以下就是实现该目的的过程。
二、下载离线打包工具
- 下载打包工具:https://github.com/junjiem/dify-plugin-repackaging
- 这个工具用于重新打包 Dify 插件,它会拉取插件所需的所有第三方库,并重新整合成完整的 Dify 插件包。安装插件时,直接从该包内加载依赖,避免联网下载。
三、打包环境(dify-api服务)
- 前提:需要和Dify保持一样的环境。因为有aarch64和amd64环境的区别。
- Dify的服务挂载的目录是:/data/dify
- dify-api映射目录:/data/dify/docker/volumes/app/storage:/app/api/storage
1.安装unzip
sh
# 1.以root用户进入dify
docker exec -it --user root dify-api /bin/bash
# 2.安装unzip
apt update
apt install -y unzip
2.解压打包工具
sh
unzip dify-plugin-repackaging-main
cd dify-plugin-repackaging-main
chmod a+x plugin_repackaging.sh
3.调整上传文件的大小
-
因为离线打包,可能会有上百M的文件
-
修改.env文件内容
FORCE_VERIFYING_SIGNATURE=false
PLUGIN_MAX_PACKAGE_SIZE=52428800
NGINX_CLIENT_MAX_BODY_SIZE=500M
四、打包
- 将dify应用,打包后,放入/data/dify/docker/volumes/app/storage:/app/api/storage
- 应用包名称例如:database_tools.difypkg
- 进入目录:/app/api/storage/dify-plugin-repackaging-main

- 打包
sh
./plugin_repackaging.sh local database_tools.difypkg
- 打包完会生成文件:database_tools-offline.difypkg
五、打包场景
1.pip没有的包
- 场景:如果是一些特殊场景的包,例如达梦的驱动,只有在官网下。那么这种需要另外安装
- 例如包后缀是:.tar.gz、.zip
- 如果离线打包,在dify里面安装,会报错。需要转成.whl文件
- 打包.whl文件的命令:python setup.py bdist_wheel
- 打包后在dist文件里面


- 打包后在dist文件里面
- 打包.whl文件的命令:python setup.py bdist_wheel